public ActionResult AddMessage() { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.MyMessage.MyMessageEditModel(); List <SelectListItem> ll = new List <SelectListItem>(); var tb = (from p in db.Table <Sys.Entity.tbSysRole>() where p.RoleCode != Code.EnumHelper.SysRoleCode.Administrator orderby p.RoleName select new { Value = p.Id, Text = p.RoleName }).ToList(); foreach (var item in tb) { SelectListItem ii = new SelectListItem(); ii.Value = item.Value.ConvertToString(); ii.Text = item.Text; ll.Add(ii); } vm.RoleList = ll; return(View(vm)); } }
public ActionResult AddMessage(Models.MyMessage.MyMessageEditModel vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { string[] RoleIDs = null; if (Request["RoleIDs"] != null) { RoleIDs = Request["RoleIDs"].Split(','); } List <int> GobalUserIds = new List <int>(); string[] UserIDs = null; if (!string.IsNullOrEmpty(vm.MyMessageEditDto.UserIds)) { UserIDs = vm.MyMessageEditDto.UserIds.Split(','); foreach (var id in UserIDs) { int uid = int.Parse(id); GobalUserIds.Add(uid); } } var tb = new Sys.Entity.tbSysMessage(); tb.MessageTitle = vm.MyMessageEditDto.MessageTitle; tb.IsSms = false; tb.IsEmail = false; tb.IsPermit = true;//私信 tb.Url = ""; tb.MessageContent = vm.MyMessageEditDto.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); if (RoleIDs != null) { foreach (var id in RoleIDs) { int rid = int.Parse(id); var UserIds = (from p in db.Table <Sys.Entity.tbSysUserRole>() where p.tbSysRole.Id == rid && p.IsDeleted == false select p.tbSysUser.Id).ToList(); GobalUserIds.AddRange(UserIds); } } GobalUserIds = GobalUserIds.Distinct().ToList(); foreach (var item in GobalUserIds) { var userid = item; 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); } db.SaveChanges(); } //if (error.Count > 0) //{ // return Content("<script type='text/javascript'>$(function(){ mui.alert('" + string.Join("\r\n", error) + "');});</script>"); //} //return Content("<script type='text/javascript'> window.parent.location.href = '" + Url.Action("MyMessageIndex", "MyMessage", new { area = "wechat" }) + "';</script>"); return(Code.MvcHelper.Post(error, Url.Action("MyMessageIndex"))); } }