/// <summary> /// 新增站内信 /// </summary> /// <param name="model"></param> /// <returns></returns> public Result <int> AddMessage(long sendId, long sendCompanyId, long receiveId, long receiveCompanyId, MessageStep step, string businessUrl, Dictionary <string, string> parameters, string linkURL = "") { Result <int> result = new Result <int>(); try { using (MsgDataContext db = new MsgDataContext()) { //查找模板 var templete = db.Msg_MessageTemplete.FirstOrDefault(i => i.Step == step.ToString() && i.IsConfirm && i.IsEnable); if (templete != null) { Msg_Message model = new Msg_Message(); string con = templete.TemplateCon; string title = templete.TitleCon; if (parameters != null && parameters.Any()) { //替换标题和内容参数 foreach (var item in parameters) { con = con.Replace("{" + item.Key + "}", item.Value); title = title.Replace("{" + item.Key + "}", item.Value); } } model.Contents = con; model.LinkURL = string.IsNullOrEmpty(linkURL) ? templete.LinkURL : linkURL; model.ReadTime = null; model.ReceiveId = receiveId; model.SenderId = sendId; model.SendeCompanyId = sendCompanyId; model.ReceiveCompanyId = receiveCompanyId; model.State = false; model.Step = step.ToString(); model.TemplateId = templete.Id; model.Title = title; model.SendTime = DateTime.Now; model.BusinessUrl = businessUrl; db.Msg_Message.Add(model); var rows = db.SaveChanges(); result.Data = rows; result.Flag = EResultFlag.Success; //WriteLog(AdminModule.MessageHistory.GetText(), SystemRight.Add.GetText(), "新增站内信:" + model.Id + ":" + model.Title); } else { throw new Exception("未查找到对应站内信模板"); } } } catch (Exception ex) { result.Data = -1; result.Flag = EResultFlag.Failure; result.Exception = new ExceptionEx(ex, "AddMessage"); } return(result); }
/// <summary> /// 新增站内信 /// </summary> /// <param name="sendId"></param> /// <param name="sendCompanyId"></param> /// <param name="recDic">接收信息字典类型 key:接收人Id;value:接收人单位Id</param> /// <param name="step"></param> /// <param name="parameters"></param> /// <param name="linkURL"></param> /// <returns></returns> public Result <int> AddMessageBatch(long sendId, long sendCompanyId, Dictionary <long, long> recDic, MessageStep step, Dictionary <string, string> parameters, string linkURL = "") { Result <int> result = new Result <int>(); try { using (MsgDataContext db = new MsgDataContext()) { //查找模板 var templete = db.Msg_MessageTemplete.FirstOrDefault(i => i.Step == step.ToString() && i.IsConfirm && i.IsEnable); if (templete != null) { if (recDic != null && recDic.Any()) { List <Msg_Message> list = new List <Msg_Message>(); Msg_Message model = null; foreach (var dic in recDic) { model = new Msg_Message(); string con = templete.TemplateCon; string title = templete.TitleCon; if (parameters != null && parameters.Any()) { foreach (var item in parameters) { con = con.Replace("{" + item.Key + "}", item.Value); title = title.Replace("{" + item.Key + "}", item.Value); } } model.Contents = con; model.LinkURL = string.IsNullOrEmpty(linkURL) ? templete.LinkURL : linkURL; model.ReadTime = null; model.ReceiveId = dic.Key; model.SenderId = sendId; model.SendeCompanyId = sendCompanyId; model.ReceiveCompanyId = dic.Value; model.State = false; model.Step = step.ToString(); model.TemplateId = templete.Id; model.Title = title; model.SendTime = DateTime.Now; list.Add(model); } db.Msg_Message.AddRange(list); var rows = db.SaveChanges(); result.Data = rows; result.Flag = EResultFlag.Success; } else { throw new Exception("未找到接收人"); } } else { throw new Exception("未查找到对应站内信模板"); } } } catch (Exception ex) { result.Data = -1; result.Flag = EResultFlag.Failure; result.Exception = new ExceptionEx(ex, "AddMessage"); } return(result); }