using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using Interface;
using Services;
using Common;
using Models;
namespace Services
{
///
/// 邮件相关服务
///
public class EmailServices : BaseServices, IEmail
{
///
/// 添加邮件提醒记录
///
/// 彩种名称
/// 期号
/// 开奖时间
///
public bool AddEmail(string LotteryName, string QiHao, DateTime OpenTime, string Spare = "")
{
var param = new SqlParameter[]{
new SqlParameter("@LotteryName",LotteryName),
new SqlParameter("@QiHao",QiHao),
new SqlParameter("@OpenTime",OpenTime),
new SqlParameter("@ID",Guid.NewGuid().ToString().Replace("-", "")),
new SqlParameter("@Spare",Spare)
};
var result = SqlHelper.ExecuteNonQuery(CommandType.Text, AddEmailSql, param);
return result > 0;
}
///
/// 获取所有待发送邮件列表
///
///
public List GetAllNeedSendEmail()
{
List result = new List();
var ds = SqlHelper.ExecuteDataset(CommandType.Text, GetAllNeedSendEmailSql);
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
result = LoadDataList(ds.Tables[0]);
}
return result;
}
///
/// 更新邮件列表为已发送
///
/// 邮件列表
public void UpdateEmailToSend(List models)
{
if (models.Count == 0) return;
StringBuilder sb = new StringBuilder();
foreach (var model in models)
{
sb.Append(string.Format("{0},", model.Id));
}
var exeSql = string.Format(UpdateEmailToSendSql, sb.ToString().Trim(','));
SqlHelper.ExecuteNonQuery(CommandType.Text, exeSql, null);
}
#region Sql语句
///
/// 添加邮件记录的Sql语句
///
private static string AddEmailSql = @"IF NOT EXISTS(SELECT TOP 1 1 FROM SCCEmail WHERE LotteryName=@LotteryName AND QiHao=@QiHao)
BEGIN
INSERT INTO SCCEmail
SELECT @ID,@LotteryName,@QiHao,@OpenTime,0,GETDATE(),@Spare
END";
///
/// 获取所有待发送邮件列表的Sql语句
///
private static string GetAllNeedSendEmailSql = @"SELECT ID,LotteryName,QiHao,OpenTime From SCCEmail WHERE IsSend = 0";
///
/// 更新邮件为已发送的Sql语句
///
private static string UpdateEmailToSendSql = @"Update SCCEmail SET IsSend = 1 WHERE ID in ({0})";
#endregion
}
}