コード例 #1
0
        public PaginationEntity <FullUserInfo> Query(UserQueryForm form)
        {
            PaginationEntity <FullUserInfo> result = new PaginationEntity <FullUserInfo>();
            var                mapper  = Common.GetMapper();
            UserDao            userdao = new UserDao(mapper);
            User_BoardGroupDao ubdao   = new User_BoardGroupDao(mapper);
            BoardGroupDao      bgdao   = new BoardGroupDao(mapper);
            var                users   = userdao.Query(form);
            var                userids = (from u in users
                                          select u.ID).ToList();
            var ubs = ubdao.Query(new User_BoardGroupQueryForm {
                UserIDs = userids
            });
            var allboards = bgdao.Query(new BoardGroupQueryForm {
                Enabled = true
            });
            List <FullUserInfo> list = new List <FullUserInfo>();

            users.ForEach(u =>
            {
                var boards = (from ub in ubs
                              join b in allboards on ub.BoardGroupID equals b.ID
                              where ub.UserID == u.ID
                              select b).ToList();
                var fulluser = new FullUserInfo();
                u.CopyTo <FullUserInfo>(fulluser);
                fulluser.Boards = boards;
                list.Add(fulluser);
            });
            result.RecordCount = form.RecordCount;
            result.List        = list;
            return(result);
        }
コード例 #2
0
        public string Add(FullUserInfo user)
        {
            var     mapper      = Common.GetMapper();
            UserDao userDao     = new UserDao(mapper);
            var     repeateUser = userDao.Query(new UserQueryForm {
                Name = user.Name
            }).FirstOrDefault();

            if (repeateUser != null)
            {
                throw new XinLuClubException(402, "用户名已存在");
            }
            var result = userDao.Add(user);

            if (user.Boards != null)
            {
                User_BoardGroupDao ubdao = new User_BoardGroupDao(mapper);
                user.Boards.ForEach(t =>
                {
                    User_BoardGroup ub = new User_BoardGroup
                    {
                        UserID       = result.ID,
                        BoardGroupID = t.ID,
                    };
                    ubdao.Add(ub);
                });
            }

            return(result.ID);
        }
コード例 #3
0
        public List <BoardGroup> GetMyBoardGroupList()
        {
            LoginBLL           login  = new LoginBLL();
            var                mapper = Common.GetMapper();
            var                me     = login.GetMe();
            BoardGroupDao      bgdao  = new BoardGroupDao(mapper);
            User_BoardGroupDao ubgdao = new User_BoardGroupDao(mapper);
            var                boards = ubgdao.Query(new User_BoardGroupQueryForm {
                UserID = me.ID
            });
            var boardids = (from b in boards
                            select b.ID).ToList();
            var boardGroups = bgdao.Query(new BoardGroupQueryForm {
                Enabled = true, IDs = boardids
            });

            return(boardGroups);
        }
コード例 #4
0
        public IndexPage Index(int pageSize)
        {
            LoginBLL           loginbll = new LoginBLL();
            TopicBLL           topicbll = new TopicBLL();
            var                mapper   = Common.GetMapper();
            UserDao            userdao  = new UserDao(mapper);
            User_BoardGroupDao utgdao   = new User_BoardGroupDao(mapper);
            BoardGroupDao      tgdao    = new BoardGroupDao(mapper);
            TopicDao           topicdao = new TopicDao(mapper);

            var me = loginbll.GetMe();

            if (me == null)
            {
                throw new XinLuClubException(100, "token过期,请重新登录");
            }
            var utgs = utgdao.Query(new User_BoardGroupQueryForm {
                UserID = me.ID
            });
            var groups     = new List <BoardGroup>();
            var topicinfos = new PaginationEntity <FullTopicInfo>();

            if (utgs.Count > 0)
            {
                var groupIDs = (from u in utgs
                                select u.BoardGroupID).ToList();

                groups = tgdao.Query(new BoardGroupQueryForm {
                    IDs = groupIDs, Enabled = true, OrderBy = OrderBy.DESC, OrderByColumn = "LastUpdateTime"
                });

                topicinfos = topicbll.GetFullTopicList(new TopicQueryForm {
                    PageSize = pageSize, CurrentIndex = 1, OrderBy = OrderBy.DESC, OrderByColumn = "LastUpdateTime", OwnerID = me.ID
                });
            }
            IndexPage page = new IndexPage
            {
                //ActiveTopics = activeTopic,
                NewestTopics = topicinfos,
                BoardGroups  = groups,
            };

            return(page);
        }
コード例 #5
0
        public PaginationEntity <FullTopicInfo> GetFullTopicList(TopicQueryForm form)
        {
            var                mapper   = Common.GetMapper();
            TopicDao           topicdao = new TopicDao(mapper);
            User_BoardGroupDao udgdao   = new User_BoardGroupDao(mapper);
            var                paging   = new PaginationEntity <FullTopicInfo>();
            var                boards   = udgdao.Query(new User_BoardGroupQueryForm {
                UserID = form.OwnerID
            });
            var boardids = (from b in boards
                            select b.BoardGroupID).ToList();

            form.OwnerID       = null;
            form.BoardGroupIDs = boardids;
            var topics = topicdao.QueryFullTopicInfo(form);

            paging.List        = topics;
            paging.RecordCount = form.RecordCount;
            return(paging);
        }
コード例 #6
0
        public PaginationEntity <FullTopicInfo> GetFullTopicListByBoard(TopicQueryForm form)
        {
            var                mapper   = Common.GetMapper();
            TopicDao           topicdao = new TopicDao(mapper);
            User_BoardGroupDao udgdao   = new User_BoardGroupDao(mapper);
            var                paging   = new PaginationEntity <FullTopicInfo>();
            var                boards   = udgdao.Query(new User_BoardGroupQueryForm {
                UserID = form.OwnerID, BoardGroupID = form.BoardGroupID
            });

            if (boards.Count == 0)
            {
                throw new XinLuClubException(202, "你没有查看该板块的权限,请联系管理员");
            }
            var topics = topicdao.QueryFullTopicInfo(new TopicQueryForm {
                Enabled = true, BoardGroupID = form.BoardGroupID
            });

            paging.List        = topics;
            paging.RecordCount = form.RecordCount;
            return(paging);
        }
コード例 #7
0
        public bool Update(FullUserInfo user)
        {
            var                mapper  = Common.GetMapper();
            UserDao            userdao = new UserDao(mapper);
            User_BoardGroupDao ubdao   = new User_BoardGroupDao(mapper);

            ubdao.Delete(new User_BoardGroupQueryForm {
                UserID = user.ID
            });
            if (user.Boards != null)
            {
                user.Boards.ForEach(t =>
                {
                    User_BoardGroup ub = new User_BoardGroup
                    {
                        UserID       = user.ID,
                        BoardGroupID = t.ID,
                    };
                    ubdao.Add(ub);
                });
            }
            return(userdao.Update(new UserUpdateForm {
                Entity = new User
                {
                    WeiXin = user.WeiXin,
                    Enabled = user.Enabled,
                    Gender = user.Gender,
                    IdentityCode = user.IdentityCode,
                    IsAdmin = user.IsAdmin,
                    Mobile = user.Mobile,
                    RealName = user.RealName,
                },
                QueryForm = new UserQueryForm {
                    ID = user.ID
                }
            }));
        }