/// <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="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; } }