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 } }