Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }