public async Task <JsonResult> GetNotices(string name) { var user = await db.Employeers.Where(u => u.Email == name).FirstOrDefaultAsync(); var id = user.Id; IQueryable <Notice> notices; if (!User.IsInRole("Администратор")) { notices = db.Notices.Where(n => n.EmployeerId == id); } else { notices = db.Notices; } var model = new List <NoticeVM>(); foreach (var item in notices) { var notice = new NoticeVM(item); model.Add(notice); } if (model.Count > 25) { var mod = model.TakeLast(25); mod = mod.Reverse(); return(new JsonResult(mod)); } model.Reverse(); return(new JsonResult(model)); }
public ResponseResult AddNotice(NoticeVM noticeVM)//Add Or Update Notice { ResponseResult responseResult = new ResponseResult(); System.Data.Entity.Core.Objects.ObjectParameter MSG_Code = new System.Data.Entity.Core.Objects.ObjectParameter("MSG_Code", typeof(string)); System.Data.Entity.Core.Objects.ObjectParameter MSG = new System.Data.Entity.Core.Objects.ObjectParameter("MSG", typeof(string)); try { _dbContext.AddNotice_SP(noticeVM.NoticeId, noticeVM.PostedBy, noticeVM.MaskingId, noticeVM.Message, noticeVM.Title, noticeVM.PostedDate, noticeVM.UpdatedDate, noticeVM.PostedForTime, MSG_Code, MSG); responseResult.MessageCode = MSG_Code.Value.ToString(); responseResult.SystemMessage = MSG.Value.ToString(); responseResult.Content = null; } catch (Exception ex) { responseResult.MessageCode = MSG_Code.ToString(); responseResult.SystemMessage = MSG.Value.ToString(); responseResult.Content = null; //throw ex; } return(responseResult); }
public IActionResult Index() { NoticeVM noticeVM = new NoticeVM { Video = _db.NoticeVideos.FirstOrDefault(), Boards = _db.NoticeBoards.OrderByDescending(p => p.Id) }; return(View(noticeVM)); }
public ActionResult SaveNotice(NoticeVM vm) { ResultEntity <NoticeVM> result = new ResultEntity <NoticeVM>(); if (vm == null || string.IsNullOrEmpty(vm.Title) || string.IsNullOrEmpty(vm.Content)) { result.Code = -400; result.Msg = "通知标题和通知内容不能为空"; return(Json(result)); } try { if (!vm.ID.HasValue) { vm.Inputer = UserData.Name; vm.InputerID = UserData.UserId; vm.InputTime = DateTime.Now; } vm.UpdateTime = DateTime.Now; #region 日志 var log = new LogVM() { Operator = this.UserData.Name, OperatorID = this.UserData.UserId, RoleTypes = this.UserData.RoleTypes, OperateTime = DateTime.Now, OperateType = vm.ID.HasValue ? (int)EnumOperateType.编辑 : (int)EnumOperateType.添加 }; log.OperateDescribe = ((EnumOperateType)log.OperateType).ToString() + "通知:Title = " + vm.Title; Logger.AddLog(log); #endregion vm = new NoticeService().Save(vm); result.Data = vm; } catch (Exception ex) { LogHelper.WriteLog(ex.Message); throw ex; } result.Msg = "添加成功"; result.Code = 200; return(Json(result)); }
/// <summary> /// 获取通知列表 /// </summary> /// <returns></returns> public List <NoticeVM> GetNoticeList(NoticeQuery query) { string sql = "select * from notice n where 1=1 "; if (!string.IsNullOrEmpty(query.KeyWord)) { sql += string.Format(" and n.title like '%{0}%' ", query.KeyWord); } sql += " order by n.InputTime DESC "; using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { List <NoticeVM> list = dbContext.Sql(sql).Query <NoticeVM, List <NoticeVM> >(reader => { var noVM = new NoticeVM() { ID = reader.AsInt("ID"), Title = reader.AsString("Title"), Content = reader.AsString("Content"), Inputer = reader.AsString("Inputer"), InputerID = reader.AsInt("InputerID") }; noVM.FeedBack = string.IsNullOrEmpty(reader["FeedBack"].ToString()) ? "" : reader.AsString("FeedBack"); noVM.FeedBacker = string.IsNullOrEmpty(reader["FeedBacker"].ToString()) ? "" : reader.AsString("FeedBacker"); if (!string.IsNullOrEmpty(reader["FeedBackerID"].ToString())) { noVM.FeedBackerID = reader.AsInt("FeedBackerID"); } if (!string.IsNullOrEmpty(reader["FeedBackTime"].ToString())) { noVM.FeedBackTime = Convert.ToDateTime(reader["FeedBackTime"]); } if (!string.IsNullOrEmpty(reader["InputTime"].ToString())) { noVM.InputTime = Convert.ToDateTime(reader["InputTime"]); } return(noVM); }); return(list); } }
public NoticeVM GetNotice(int noticeId, UserItemVM user, int noticeReceiverId = 0) { try { using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { string sql = string.Format("select * from notice n where n.ID = {0} ", noticeId); NoticeVM notice = dbContext.Sql(sql).QuerySingle <NoticeVM>(reader => { NoticeVM noVM = new NoticeVM() { ID = reader.AsInt("ID"), Title = reader.AsString("Title"), Content = reader.AsString("Content"), Inputer = reader.AsString("Inputer"), InputerID = reader.AsInt("InputerID") }; if (!string.IsNullOrEmpty(reader["AttachmentUrl"].ToString())) { noVM.AttachmentUrl = reader.AsString("AttachmentUrl"); } if (!string.IsNullOrEmpty(reader["UpdateTime"].ToString())) { noVM.UpdateTimeStr = Convert.ToDateTime(reader["UpdateTime"]).ToString("yyyy-MM-dd"); } return(noVM); }); if (noticeReceiverId > 0) { dbContext.Insert("receiverstatus").Column("NoticeReceiverID", noticeReceiverId) .Column("ReceiveTime", DateTime.Now) .Column("Receiver", user.Name) .Column("ReceiverID", user.ID) .ExecuteReturnLastId <int>(); } return(notice); } } catch (Exception ex) { throw ex; } }
/// <summary> /// 保存反馈 /// </summary> /// <param name="vm"></param> /// <returns></returns> public NoticeVM SaveFeedback(NoticeVM vm) { if (vm == null || !vm.ID.HasValue) { return(null); } using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { dbContext.Update("notice").Column("FeedBack", vm.FeedBack) .Column("FeedBackTime", vm.FeedBackTime) .Column("FeedBacker", vm.FeedBacker) .Column("FeedBackerID", vm.FeedBackerID) .Where("ID", vm.ID) .Execute(); return(vm); } }
public ActionResult SaveFeedback(NoticeVM vm) { if (vm == null || !vm.ID.HasValue) { return(Json(new { Code = -400, Msg = "参数不能为空" })); } try { vm.FeedBacker = UserData.Name; vm.FeedBackerID = UserData.UserId; new NoticeService().SaveFeedback(vm); #region 日志 var log = new LogVM() { Operator = this.UserData.Name, OperatorID = this.UserData.UserId, RoleTypes = this.UserData.RoleTypes, OperateTime = DateTime.Now, OperateType = (int)EnumOperateType.编辑反馈 }; log.OperateDescribe = ((EnumOperateType)log.OperateType).ToString() + ",通知:Title = " + vm.Title; Logger.AddLog(log); #endregion return(Json(new { Code = 200, Msg = "保存成功", })); } catch (Exception ex) { LogHelper.WriteLog(ex.Message); throw ex; } }
public PagedListModel <NoticeVM> QueryNotice(NoticeSearch search, Page page) { var totalCount = 0; var list = NoticeRepository.QueryNotice(search, page, out totalCount); IList <NoticeVM> listDTO = new List <NoticeVM>(); foreach (var item in list) { var ent = new NoticeVM(); ent.Creator_User = item.Creator_User; ent.Creat_Time = item.Creat_Time; ent.Notice_Content = item.Notice_Content; ent.Period = item.Start_Time.ToLocalTime() + "~" + item.End_Time.ToLocalTime(); ent.Scope = item.Scope; ent.State = item.State; ent.UID = item.UID; listDTO.Add(ent); } return(new PagedListModel <NoticeVM>(totalCount, listDTO)); }
public ActionResult AddNotice(string Title, string Message, DateTime PostedForTime) { ResponseResult responseResult = new ResponseResult(); NoticeVM noticeVM = new NoticeVM() { MaskingId = 0,//Admin's masking id is 0. NoticeId = 0, Title = Title, Message = Message, PostedBy = (long)Session["LogInUserPhone"], PostedDate = GetLocalTime(), PostedForTime = PostedForTime, UpdatedDate = GetLocalTime() }; try { var res = _apiRequest.HttpPostRequest(noticeVM, "api/Notice/AddNotice"); string apiResponse = res.ToString(); responseResult = JsonConvert.DeserializeObject <ResponseResult>(apiResponse); if (responseResult.MessageCode == "Y") { TempData["msgAlert"] = "Y"; TempData["msgAlertDetails"] = responseResult.SystemMessage; } else { TempData["msgAlert"] = "N"; TempData["msgAlertDetails"] = responseResult.SystemMessage; } } catch (Exception ex) { TempData["msgAlert"] = "N"; TempData["msgAlertDetails"] = ex.Message.ToString(); } return(View()); }
/// <summary> /// 获取通知详细 /// </summary> /// <param name="noticeId"></param> /// <returns></returns> public NoticeVM GetNoticeById(int noticeId) { try { using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { string sql = string.Format("select * from notice n where n.ID = {0} ", noticeId); NoticeVM notice = dbContext.Sql(sql).QuerySingle <NoticeVM>(reader => { NoticeVM noVM = new NoticeVM() { ID = reader.AsInt("ID"), Title = reader.AsString("Title"), Content = reader.AsString("Content") }; noVM.FeedBack = string.IsNullOrEmpty(reader["FeedBack"].ToString()) ? "" : reader.AsString("FeedBack"); noVM.FeedBacker = string.IsNullOrEmpty(reader["FeedBacker"].ToString()) ? "" : reader.AsString("FeedBacker"); if (!string.IsNullOrEmpty(reader["FeedBackTime"].ToString())) { noVM.FeedBackTime = Convert.ToDateTime(reader["FeedBackTime"]); noVM.FeedBackTimeStr = noVM.FeedBackTime.Value.ToString("yyyy-MM-dd"); } if (!string.IsNullOrEmpty(reader["ChooseUserWay"].ToString())) { noVM.ChooseUserWay = reader.AsInt("ChooseUserWay"); } if (!string.IsNullOrEmpty(reader["AttachmentUrl"].ToString())) { noVM.AttachmentUrl = reader.AsString("AttachmentUrl"); } if (!string.IsNullOrEmpty(reader["UpdateTime"].ToString())) { noVM.UpdateTime = Convert.ToDateTime(reader["UpdateTime"]); } return(noVM); }); string sqlStr = string.Format(@"select ReceiverID as ID, Receiver as Name from noticereceiver nr where nr.NoticeID = {0} ", noticeId); if (notice.ChooseUserWay == (int)EnumChooseUserWay.角色) { sqlStr = string.Format(@" select ID, ( case when ID = 1 then '总编' when ID = 2 then '责编' when ID = 3 then '编辑' else '' END )as Name from ( select RoleType as ID from noticereceiver where NoticeID = {0} GROUP BY RoleType )xx ", noticeId); } List <ReceiverVM> receiverList = dbContext.Sql(sqlStr).Query <ReceiverVM, List <ReceiverVM> >(reader => { var receVM = new ReceiverVM() { ID = reader.AsInt("ID") }; if (!string.IsNullOrEmpty(reader["Name"].ToString())) { receVM.Name = reader.AsString("Name"); } return(receVM); }); notice.NoticeReceiver = receiverList; return(notice); } } catch (Exception ex) { throw ex; } }
/// <summary> /// 保存通知 /// </summary> /// <param name="noticeVM"></param> /// <returns></returns> public NoticeVM Save(NoticeVM noticeVM) { if (noticeVM == null || string.IsNullOrEmpty(noticeVM.Title) || string.IsNullOrEmpty(noticeVM.Content)) { return(null); } try { //去cms获取指定角色或指定ID的用户信息 List <UserItemVM> userList = new List <UserItemVM>(); if (noticeVM.ChooseUser == null) { noticeVM.ChooseUser = new ChooseUserVM(); } #region 获取用户信息 if (!string.IsNullOrEmpty(noticeVM.UserOrRoleIds)) { using (var dbContextOne = new DbContext().ConnectionStringName(ConnectionUtil.connCMS, DbProviderTypes.MySql)) { #region 获取用户信息 string sqlStr = string.Format(@"select ud.ID,ud.Name, ur.RoleID as RoleType from userdata ud left join userrole ur on ud.ID = ur.UserID where 1=1 and ur.RoleID in ({0})", noticeVM.UserOrRoleIds); if (noticeVM.ChooseUserWay == (int)EnumChooseUserWay.角色) { //获取指定角色的用户 userList = dbContextOne.Sql(sqlStr).Query <UserItemVM, List <UserItemVM> >(reader => { UserItemVM vm = new UserItemVM() { ID = reader.AsInt("ID"), Name = reader.AsString("Name") }; if (!string.IsNullOrEmpty(reader["RoleType"].ToString())) { vm.RoleType = reader.AsInt("RoleType"); } return(vm); }); } else if (noticeVM.ChooseUserWay == (int)EnumChooseUserWay.个人) { sqlStr = string.Format(@"select ID,Name from userdata ud where ud.ID in ({0})", noticeVM.UserOrRoleIds); //获取指定ID的用户信息 userList = dbContextOne.Sql(sqlStr).Query <UserItemVM, List <UserItemVM> >(reader => { return(new UserItemVM() { ID = reader.AsInt("ID"), Name = reader.AsString("Name") }); }); } #endregion } } #endregion using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql).UseTransaction(true)) { #region 新增和编辑处理 if (!noticeVM.ID.HasValue) { noticeVM.ID = dbContext.Insert("notice").Column("Title", noticeVM.Title) .Column("Content", noticeVM.Content) .Column("AttachmentUrl", noticeVM.AttachmentUrl) .Column("ChooseUserWay", noticeVM.ChooseUserWay) .Column("UpdateTime", noticeVM.UpdateTime) .Column("Inputer", noticeVM.Inputer) .Column("InputerID", noticeVM.InputerID) .Column("InputTime", noticeVM.InputTime) .ExecuteReturnLastId <int>(); } else { dbContext.Update("notice").Column("Title", noticeVM.Title) .Column("Content", noticeVM.Content) .Column("AttachmentUrl", noticeVM.AttachmentUrl) .Column("ChooseUserWay", noticeVM.ChooseUserWay) .Column("UpdateTime", noticeVM.UpdateTime) .Where("ID", noticeVM.ID) .Execute(); } #endregion #region 保存通知发送人 //先删除之前的数据 dbContext.Delete("noticereceiver").Where("NoticeID", noticeVM.ID).Execute(); if (noticeVM.ChooseUserWay == (int)EnumChooseUserWay.个人 && !string.IsNullOrEmpty(noticeVM.UserOrRoleIds)) { foreach (var item in userList) { dbContext.Insert("noticereceiver").Column("ReceiverID", item.ID) .Column("Receiver", item.Name) .Column("NoticeID", noticeVM.ID) .Column("PublishTime", noticeVM.UpdateTime) .ExecuteReturnLastId <int>(); } } else if (noticeVM.ChooseUserWay == (int)EnumChooseUserWay.角色 && !string.IsNullOrEmpty(noticeVM.UserOrRoleIds)) { //批量新增 foreach (var item in userList) { dbContext.Insert("noticereceiver").Column("ReceiverID", item.ID) .Column("Receiver", item.Name) .Column("RoleType", item.RoleType) .Column("NoticeID", noticeVM.ID) .Column("PublishTime", noticeVM.UpdateTime) .ExecuteReturnLastId <int>(); } } #endregion dbContext.Commit(); } return(noticeVM); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获取通知列表 /// </summary> /// <returns></returns> public PageVM <NoticeVM> GetNoticeListPage(NoticeQuery query) { if (!query.PageIndex.HasValue) { query.PageIndex = 1; } if (!query.PageSize.HasValue) { query.PageSize = 10; } string sql = "select * from notice n where 1=1 "; if (!string.IsNullOrEmpty(query.KeyWord)) { sql += string.Format(" and n.title like '%{0}%' ", query.KeyWord); } if (query.StartTime.HasValue) { sql += string.Format(" and date(n.UpdateTime) >= '{0}' ", query.StartTime); } if (query.EndTime.HasValue) { sql += string.Format(" and date(n.UpdateTime) <= '{0}' ", query.EndTime); } sql += " order by n.UpdateTime DESC "; string pageSql = string.Format(" Limit {0},{1}", (query.PageIndex - 1) * query.PageSize, query.PageSize); using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { //获取指定页数据 List <NoticeVM> list = dbContext.Sql(sql + pageSql).Query <NoticeVM, List <NoticeVM> >(reader => { var noVM = new NoticeVM() { ID = reader.AsInt("ID"), Title = reader.AsString("Title"), Content = reader.AsString("Content"), Inputer = reader.AsString("Inputer"), InputerID = reader.AsInt("InputerID") }; noVM.FeedBack = string.IsNullOrEmpty(reader["FeedBack"].ToString()) ? "" : reader.AsString("FeedBack"); noVM.FeedBacker = string.IsNullOrEmpty(reader["FeedBacker"].ToString()) ? "" : reader.AsString("FeedBacker"); if (!string.IsNullOrEmpty(reader["AttachmentUrl"].ToString())) { noVM.AttachmentUrl = reader.AsString("AttachmentUrl"); } if (!string.IsNullOrEmpty(reader["FeedBackerID"].ToString())) { noVM.FeedBackerID = reader.AsInt("FeedBackerID"); } if (!string.IsNullOrEmpty(reader["FeedBackTime"].ToString())) { noVM.FeedBackTime = Convert.ToDateTime(reader["FeedBackTime"]); noVM.FeedBackTimeStr = noVM.FeedBackTime.Value.ToString("yyyy-MM-dd"); } else { noVM.FeedBackTimeStr = string.Empty; } //if (!string.IsNullOrEmpty(reader["InputTime"].ToString())) //{ // noVM.InputTime = Convert.ToDateTime(reader["InputTime"]); // noVM.InputTimeStr = noVM.InputTime.Value.ToString("yyyy-MM-dd"); //} //else //{ // noVM.InputTimeStr = string.Empty; //} if (!string.IsNullOrEmpty(reader["UpdateTime"].ToString())) { noVM.UpdateTime = Convert.ToDateTime(reader["UpdateTime"]); noVM.UpdateTimeStr = noVM.UpdateTime.Value.ToString("yyyy-MM-dd"); } else { noVM.UpdateTimeStr = string.Empty; } return(noVM); }); list.ForEach(item => { if (!string.IsNullOrEmpty(item.AttachmentUrl)) { var arr = HttpUtility.UrlDecode(item.AttachmentUrl).Split('>'); item.FilePath = arr.Length > 0 ? arr[0] : string.Empty; item.FileName = arr.Length > 1 ? arr[1] : string.Empty; } else { item.FilePath = string.Empty; item.FileName = string.Empty; } }); //获取数据总数 int totalCount = dbContext.Sql(sql).Query().Count; //总页数 double totalPages = ((double)totalCount / query.PageSize.Value); PageVM <NoticeVM> pageVM = new PageVM <NoticeVM>(); pageVM.Data = list; pageVM.TotalCount = totalCount; pageVM.TotalPages = (int)Math.Ceiling(totalPages); pageVM.PageIndex = query.PageIndex; return(pageVM); } }
/// <summary> /// 获取通知详细 /// </summary> /// <param name="noticeId"></param> /// <returns></returns> public NoticeVM GetNoticeById(int noticeId) { try { using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { string sql = string.Format("select * from notice n where n.ID = {0} ", noticeId); NoticeVM notice = dbContext.Sql(sql).QuerySingle <NoticeVM>(reader => { NoticeVM noVM = new NoticeVM() { ID = reader.AsInt("ID"), Title = reader.AsString("Title"), Content = reader.AsString("Content") }; noVM.FeedBack = string.IsNullOrEmpty(reader["FeedBack"].ToString()) ? "" : reader.AsString("FeedBack"); noVM.FeedBacker = string.IsNullOrEmpty(reader["FeedBacker"].ToString()) ? "" : reader.AsString("FeedBacker"); if (!string.IsNullOrEmpty(reader["FeedBackTime"].ToString())) { noVM.FeedBackTime = Convert.ToDateTime(reader["FeedBackTime"]); noVM.FeedBackTimeStr = noVM.FeedBackTime.Value.ToString("yyyy-MM-dd"); } if (!string.IsNullOrEmpty(reader["ChooseRoles"].ToString())) { noVM.ChooseRoles = reader.AsString("ChooseRoles"); } if (!string.IsNullOrEmpty(reader["AttachmentUrl"].ToString())) { noVM.AttachmentUrl = reader.AsString("AttachmentUrl"); } if (!string.IsNullOrEmpty(reader["UpdateTime"].ToString())) { noVM.UpdateTime = Convert.ToDateTime(reader["UpdateTime"]); } return(noVM); }); string sqlStr = string.Format(@"select ReceiverID as ID, Receiver as Name from noticereceiver nr where nr.RoleTypes IS NULL and nr.NoticeID = {0} ", noticeId); List <ReceiverVM> receiverList = dbContext.Sql(sqlStr).Query <ReceiverVM, List <ReceiverVM> >(reader => { var receVM = new ReceiverVM() { ID = reader.AsInt("ID") }; if (!string.IsNullOrEmpty(reader["Name"].ToString())) { receVM.Name = reader.AsString("Name"); } return(receVM); }); notice.NoticeReceiver = receiverList; if (!string.IsNullOrEmpty(notice.ChooseRoles)) { List <UserRoleVM> roleList = new List <UserRoleVM>(); string[] roleArr = notice.ChooseRoles.Split(','); foreach (string item in roleArr) { if (string.IsNullOrEmpty(item)) { continue; } roleList.Add(new UserRoleVM() { RoleID = Convert.ToInt32(item), RoleName = ((EnumRoleType)Convert.ToInt32(item)).ToString() }); } notice.NoticeReceiveRoles = roleList; } return(notice); } } catch (Exception ex) { throw ex; } }
/// <summary> /// 保存通知 /// </summary> /// <param name="noticeVM"></param> /// <returns></returns> public NoticeVM Save(NoticeVM noticeVM) { if (noticeVM == null || string.IsNullOrEmpty(noticeVM.Title) || string.IsNullOrEmpty(noticeVM.Content)) { return(null); } try { List <UserItemVM> userList = new List <UserItemVM>(); #region 获取用户信息 if (!string.IsNullOrEmpty(noticeVM.ChooseRoles) || !string.IsNullOrEmpty(noticeVM.ChoosedUserIds)) { using (var dbContextOne = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql)) { #region 获取指定角色的用户信息 if (!string.IsNullOrEmpty(noticeVM.ChooseRoles)) { string sqlRole = string.Format(@"select ud.ID,ud.Name, ur.RoleID as RoleType from userdata ud left join userrole ur on ud.ID = ur.UserID where 1=1 and ur.RoleID in ({0})", noticeVM.ChooseRoles); //获取指定角色的用户 List <UserItemVM> tempList = dbContextOne.Sql(sqlRole).Query <UserItemVM, List <UserItemVM> >(reader => { UserItemVM vm = new UserItemVM() { ID = reader.AsInt("ID"), Name = reader.AsString("Name") }; if (!string.IsNullOrEmpty(reader["RoleType"].ToString())) { vm.RoleTypes = reader.AsString("RoleType"); } return(vm); }); //用户数据去重 UserItemVM tempUserItem = new UserItemVM(); tempList.ForEach(t => { tempUserItem = userList.Find(u => u.ID == t.ID); if (tempUserItem == null) { userList.Add(t); } else if (tempUserItem != null && t.RoleTypes != tempUserItem.RoleTypes) { userList.Remove(tempUserItem); tempUserItem.RoleTypes += "," + t.RoleTypes; userList.Add(tempUserItem); } }); } #endregion #region 获取指定用户信息 if (!string.IsNullOrEmpty(noticeVM.ChoosedUserIds)) { string sqlUser = string.Format(@"select ID,Name from userdata ud where ud.ID in ({0})", noticeVM.ChoosedUserIds); //获取指定ID的用户信息 var tempUesrList = dbContextOne.Sql(sqlUser).Query <UserItemVM, List <UserItemVM> >(reader => { return(new UserItemVM() { ID = reader.AsInt("ID"), Name = reader.AsString("Name") }); }); if (tempUesrList != null && tempUesrList.Count > 0) { if (userList == null) { userList = new List <UserItemVM>(); } //用户去重 userList = userList.Where(u => tempUesrList.Find(a => a.ID == u.ID) == null).ToList(); userList.AddRange(tempUesrList); } } #endregion } } #endregion using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql).UseTransaction(true)) { #region 新增和编辑处理 if (!noticeVM.ID.HasValue) { noticeVM.ID = dbContext.Insert("notice").Column("Title", noticeVM.Title) .Column("Content", noticeVM.Content) .Column("AttachmentUrl", noticeVM.AttachmentUrl) .Column("ChooseRoles", noticeVM.ChooseRoles) .Column("UpdateTime", noticeVM.UpdateTime) .Column("Inputer", noticeVM.Inputer) .Column("InputerID", noticeVM.InputerID) .Column("InputTime", noticeVM.InputTime) .ExecuteReturnLastId <int>(); } else { dbContext.Update("notice").Column("Title", noticeVM.Title) .Column("Content", noticeVM.Content) .Column("AttachmentUrl", noticeVM.AttachmentUrl) .Column("ChooseRoles", noticeVM.ChooseRoles) .Column("UpdateTime", noticeVM.UpdateTime) .Where("ID", noticeVM.ID) .Execute(); } #endregion #region 保存通知发送人 //先删除之前的数据 dbContext.Delete("noticereceiver").Where("NoticeID", noticeVM.ID).Execute(); foreach (var item in userList) { dbContext.Insert("noticereceiver").Column("ReceiverID", item.ID) .Column("Receiver", item.Name) .Column("RoleTypes", item.RoleTypes) .Column("NoticeID", noticeVM.ID) .Column("PublishTime", noticeVM.UpdateTime) .ExecuteReturnLastId <int>(); } #endregion dbContext.Commit(); } return(noticeVM); } catch (Exception ex) { throw ex; } }