using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using SCC.Interface;
using SCC.Common;
using SCC.Models;
namespace SCC.Services
{
///
/// 邮件相关服务
///
public class EmailServices : BaseServices, IEmail
{
///
/// 添加邮件提醒记录
///
/// 彩种名称
/// 期号
/// 开奖时间
///
public bool AddEmail(string LotteryName, string QiHao, DateTime OpenTime)
{
var param = new SqlParameter[]{
new SqlParameter("@LotteryName",LotteryName),
new SqlParameter("@QiHao",QiHao),
new SqlParameter("@OpenTime",OpenTime)
};
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 @LotteryName,@QiHao,@OpenTime,0,GETDATE()
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
}
}