public ActionResult PrivateMessageEdit(int id = 0) { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.SysMessage.PrivateMessageEdit(); if (id != 0) { var tb = (from p in db.Table <Sys.Entity.tbSysMessage>() where p.Id == id && p.IsPermit == true select new Dto.SysMessage.PrivateMessageEdit { Id = p.Id, InputDate = p.InputDate, IsEmail = p.IsEmail, IsSms = p.IsSms, MessageContent = p.MessageContent, MessageTitle = p.MessageTitle, SysUserId = p.tbSysUser.Id, ReceiverUserIds = "", Url = p.Url }).FirstOrDefault(); if (tb != null) { vm.PrivateMessageMyEdit = tb; vm.SysUserList = (from p in db.Table <Sys.Entity.tbSysMessageUser>() where p.tbSysMessage.Id == id select new Dto.SysUser.List { Id = p.tbSysUser.Id, UserName = p.tbSysUser.UserName }).ToList(); } } return(View(vm)); } }
public ActionResult PrivateMessageEdit(Models.SysMessage.PrivateMessageEdit vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { if (vm.PrivateMessageMyEdit.Id == 0) { if (string.IsNullOrEmpty(vm.PrivateMessageMyEdit.ReceiverUserIds) == false) { var userIds = vm.PrivateMessageMyEdit.ReceiverUserIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); var tb = new Sys.Entity.tbSysMessage(); tb.MessageTitle = vm.PrivateMessageMyEdit.MessageTitle; tb.IsSms = false; tb.IsEmail = false; tb.IsPermit = true;//私信 tb.Url = ""; tb.MessageContent = vm.PrivateMessageMyEdit.MessageContent; tb.tbProgram = db.Set <Admin.Entity.tbProgram>().Find(Code.Common.ProgramId); tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); tb.InputDate = DateTime.Now; db.Set <Sys.Entity.tbSysMessage>().Add(tb); foreach (var id in userIds) { var userid = id.ConvertToInt(); var tbUser = new Sys.Entity.tbSysMessageUser(); tbUser.IsRead = false; tbUser.tbSysMessage = tb; tbUser.ReadDate = DateTime.Now; tbUser.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(userid); tbUser.UpdateTime = DateTime.Now; db.Set <Sys.Entity.tbSysMessageUser>().Add(tbUser); } if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加私信"); } } else { error.AddError("请选择接收私信的用户"); return(Code.MvcHelper.Post(error)); } } else { var tb = (from p in db.Table <Sys.Entity.tbSysMessage>() where p.Id == vm.PrivateMessageMyEdit.Id select p).FirstOrDefault(); if (tb != null) { tb.MessageTitle = vm.PrivateMessageMyEdit.MessageTitle; tb.IsSms = false; tb.IsEmail = false; tb.Url = ""; tb.IsPermit = true; tb.MessageContent = vm.PrivateMessageMyEdit.MessageContent; tb.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId); tb.tbProgram = db.Set <Admin.Entity.tbProgram>().Find(Code.Common.ProgramId); tb.InputDate = DateTime.Now; //删除之前 var tbUser = (from p in db.Table <Sys.Entity.tbSysMessageUser>() where p.tbSysMessage.Id == vm.PrivateMessageMyEdit.Id select p).ToList(); foreach (var a in tbUser) { a.IsDeleted = true; a.UpdateTime = DateTime.Now; } //重新增加 var userIds = vm.PrivateMessageMyEdit.ReceiverUserIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var id in userIds) { var userid = id.ConvertToInt(); var tbUserNew = new Sys.Entity.tbSysMessageUser(); tbUserNew.IsRead = false; tbUserNew.tbSysMessage = tb; tbUserNew.ReadDate = DateTime.Now; tbUserNew.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(userid); tbUserNew.UpdateTime = DateTime.Now; db.Set <Sys.Entity.tbSysMessageUser>().Add(tbUserNew); } if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改私信"); } } else { error.AddError(Resources.LocalizedText.MsgNotFound); } } } return(Code.MvcHelper.Post(null, Url.Action("PrivateMessageList"), "提交成功!")); } }