using Model; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; namespace BLL.Email_Send { public static class Email_SendTemplateService { #region 邮件模板添加 /// /// 邮件模板添加 /// /// public static void AddSendEmail(Model.Email_SendTemplate Email_SendTemplate) { Model.Email_SendTemplate newsendTemplate = new Model.Email_SendTemplate(); newsendTemplate.EmailId = Guid.NewGuid().ToString(); newsendTemplate.EmailParamsID = Email_SendTemplate.EmailParamsID; newsendTemplate.EailTiaoJian = Email_SendTemplate.EailTiaoJian; newsendTemplate.EmailUserYN = Email_SendTemplate.EmailUserYN; newsendTemplate.EmailTitle = Email_SendTemplate.EmailTitle; newsendTemplate.EmailContext = Email_SendTemplate.EmailContext; newsendTemplate.CreateName = Email_SendTemplate.CreateName; newsendTemplate.CreateTime = Email_SendTemplate.CreateTime; newsendTemplate.UpdateName = Email_SendTemplate.UpdateName; newsendTemplate.UpdateTime = Email_SendTemplate.UpdateTime; newsendTemplate.EmailDesc = Email_SendTemplate.EmailDesc; Funs.DB.Email_SendTemplate.InsertOnSubmit(newsendTemplate); Funs.DB.SubmitChanges(); } #endregion #region 邮件模板修改 /// /// 邮件模板修改 /// /// public static void UpdateEmail_SendTemplate(Model.Email_SendTemplate Email_SendTemplate) { Model.Email_SendTemplate newsendTemplate = Funs.DB.Email_SendTemplate.FirstOrDefault(x => x.EmailId == Email_SendTemplate.EmailId); newsendTemplate.EmailParamsID = Email_SendTemplate.EmailParamsID; newsendTemplate.EailTiaoJian = Email_SendTemplate.EailTiaoJian; newsendTemplate.EmailUserYN = Email_SendTemplate.EmailUserYN; newsendTemplate.EmailTitle = Email_SendTemplate.EmailTitle; newsendTemplate.EmailContext = Email_SendTemplate.EmailContext; newsendTemplate.UpdateName = Email_SendTemplate.UpdateName; newsendTemplate.UpdateTime = Email_SendTemplate.UpdateTime; newsendTemplate.EmailDesc = Email_SendTemplate.EmailDesc; Funs.DB.SubmitChanges(); } #endregion #region 根据主键获取邮件设置 /// /// 根据主键获取邮件设置 /// /// 邮件设置Id /// public static Model.Email_SendTemplate GetEmail_SendTemplate(string EmailID) { return Funs.DB.Email_SendTemplate.FirstOrDefault(x => x.EmailId == EmailID); } #endregion #region 获取邮件模板列表 /// /// 获取邮件模板列表 /// /// public static List GetEmail_SendTemplateList() { return (from x in Funs.DB.Email_SendTemplate orderby x.CreateTime descending select x).ToList(); } #endregion #region 根据主键删除 /// /// 根据主键删除EProject /// /// public static void DeleteEproejctById(string EmailId) { Model.Email_SendTemplate Email_SendTemplate = Funs.DB.Email_SendTemplate.FirstOrDefault(e => e.EmailId == EmailId); if (Email_SendTemplate != null) { Funs.DB.Email_SendTemplate.DeleteOnSubmit(Email_SendTemplate); Funs.DB.SubmitChanges(); } } #endregion #region 根据EmailNotifier查询 /// /// 根据EmailNotifier查询EProject /// /// public static List GetEmailNotifierList(string EmailNotifier) { return (from x in Funs.DB.Email_SendTemplate orderby x.CreateTime descending select x).Where(o => o.EmailParamsID == EmailNotifier).ToList(); } #endregion #region 根据EmailNotifier查询 /// /// 根据EmailNotifier查询EProject /// /// public static Email_SendTemplate GetEmailNotifier(string EmailNotifier) { return Funs.DB.Email_SendTemplate.FirstOrDefault(x => x.EmailParamsID == EmailNotifier); } #endregion #region 根据模版ID获取发送人列表 public static List GetEmailByTemplateId(string templateId,string isCc) { var result = (from a in Funs.DB.Email_ToPeople join b in Funs.DB.Sys_User on a.EmuserID equals b.UserId where b.IsPost.Value && b.Email!="" && a.EMPeopleType==isCc && a.EmtempID==templateId select b.Email ).ToList(); return result; } #endregion #region 事务提交 新增 /// /// 事物提交 /// /// /// /// /// public static bool Add(Model.Email_SendTemplate Email_SendTemplate, List peopleList) { bool result = true; if (Email_SendTemplate == null) return false; Funs.DB.Connection.Close(); Funs.DB.Connection.Open(); Funs.DB.CommandTimeout = 30000; using (DbTransaction tran = Funs.DB.Connection.BeginTransaction()) { Funs.DB.Transaction = tran; try { Model.Email_SendTemplate newsendTemplate = new Email_SendTemplate(); newsendTemplate.EmailId = Email_SendTemplate.EmailId; newsendTemplate.EmailParamsID = Email_SendTemplate.EmailParamsID; newsendTemplate.EailTiaoJian = Email_SendTemplate.EailTiaoJian; newsendTemplate.EmailUserYN = Email_SendTemplate.EmailUserYN; newsendTemplate.EmailTitle = Email_SendTemplate.EmailTitle; newsendTemplate.EmailContext = Email_SendTemplate.EmailContext; newsendTemplate.CreateName = Email_SendTemplate.CreateName; newsendTemplate.CreateTime = Email_SendTemplate.CreateTime; newsendTemplate.UpdateName = Email_SendTemplate.UpdateName; newsendTemplate.UpdateTime = Email_SendTemplate.UpdateTime; newsendTemplate.EmailDesc = Email_SendTemplate.EmailDesc; Funs.DB.Email_SendTemplate.InsertOnSubmit(newsendTemplate); if (newsendTemplate != null) { var list = (from x in Funs.DB.Email_ToPeople where x.EmtempID == newsendTemplate.EmailId select x).ToList(); if (list != null || list.Count > 0) { Funs.DB.Email_ToPeople.DeleteAllOnSubmit(list); } } if (peopleList != null) { Funs.DB.Email_ToPeople.InsertAllOnSubmit(peopleList); } Funs.DB.SubmitChanges(); tran.Commit(); result = true; } catch { tran.Rollback();//回滚事务 // db.Connection.Close(); result = false; } } Funs.DB.Connection.Close(); return result; } #endregion #region 事务提交 修改 /// /// 事物提交 /// /// /// /// /// public static bool Update(Model.Email_SendTemplate Email_SendTemplate, List peopleList) { bool result = true; if (Email_SendTemplate == null) return false; Funs.DB.Connection.Close(); Funs.DB.Connection.Open(); Funs.DB.CommandTimeout = 30000; using (DbTransaction tran = Funs.DB.Connection.BeginTransaction()) { Funs.DB.Transaction = tran; try { Model.Email_SendTemplate newsendTemplate = Funs.DB.Email_SendTemplate.FirstOrDefault(x => x.EmailId == Email_SendTemplate.EmailId); newsendTemplate.EmailParamsID = Email_SendTemplate.EmailParamsID; newsendTemplate.EailTiaoJian = Email_SendTemplate.EailTiaoJian; newsendTemplate.EmailUserYN = Email_SendTemplate.EmailUserYN; newsendTemplate.EmailTitle = Email_SendTemplate.EmailTitle; newsendTemplate.EmailContext = Email_SendTemplate.EmailContext; newsendTemplate.CreateName = Email_SendTemplate.CreateName; newsendTemplate.CreateTime = Email_SendTemplate.CreateTime; newsendTemplate.UpdateName = Email_SendTemplate.UpdateName; newsendTemplate.UpdateTime = Email_SendTemplate.UpdateTime; newsendTemplate.EmailDesc = Email_SendTemplate.EmailDesc; if (newsendTemplate != null) { // var list = (from x in Funs.DB.Em_toPeople where x.EmuserID == newsendTemplate.EmailId select x).ToList(); var list = (from x in Funs.DB.Email_ToPeople where x.EmtempID == newsendTemplate.EmailId select x).ToList(); if (list == null || list.Count == 0) { } else { Funs.DB.Email_ToPeople.DeleteAllOnSubmit(list); Funs.DB.SubmitChanges(); } } if (peopleList != null) { Funs.DB.Email_ToPeople.InsertAllOnSubmit(peopleList); Funs.DB.SubmitChanges(); } Funs.DB.SubmitChanges(); tran.Commit(); result = true; } catch(Exception e) { string ss = e.Message; tran.Rollback();//回滚事务 // db.Connection.Close(); result = false; } } Funs.DB.Connection.Close(); return result; } #endregion #region 事务提交 删除 /// /// 事物提交 /// /// /// /// /// public static bool Delete(string EmailId) { bool result = true; if (EmailId == null) return false; Funs.DB.Connection.Close(); Funs.DB.Connection.Open(); Funs.DB.CommandTimeout = 30000; using (DbTransaction tran = Funs.DB.Connection.BeginTransaction()) { Funs.DB.Transaction = tran; try { Model.Email_SendTemplate newsendTemplate = Funs.DB.Email_SendTemplate.FirstOrDefault(x => x.EmailId == EmailId); Funs.DB.Email_SendTemplate.DeleteOnSubmit(newsendTemplate); Funs.DB.SubmitChanges(); if (newsendTemplate != null) { // var list = (from x in Funs.DB.Em_toPeople where x.EmuserID == newsendTemplate.EmailId select x).ToList(); var list = (from x in Funs.DB.Email_ToPeople where x.EmtempID == EmailId select x).ToList(); if (list == null || list.Count == 0) { } else { Funs.DB.Email_ToPeople.DeleteAllOnSubmit(list); } } Funs.DB.SubmitChanges(); tran.Commit(); result = true; } catch { tran.Rollback();//回滚事务 // db.Connection.Close(); result = false; } } Funs.DB.Connection.Close(); return result; } #endregion } }