Ejemplo n.º 1
0
        //主页请求的数据
        public JsonResult WorkListList(WorkListQuery query)
        {
            var totalcount = 0;

            query.CusMemberId = CookieOperate.AccountCookie.AccountId;
            var list = WorkListDBOperate.GetPagerList(query, out totalcount);
            PagerList <WorkList> pagerList = new PagerList <WorkList>();
            var status = CommonMethod.GetEnumItems <WorkListStatusEnum>();
            //var userList = CompanyUserDBOperate.GetUserByUserNames(string.Join(",", list.Select(a => a.Users)).Split(',').ToArray());
            var detailList = WorkListDetailDBOperate.GetList(list.Select(a => a.Guid).ToArray());

            list.ForEach(a =>
            {
                a.StatusTxt   = status.FirstOrDefault(b => b.Key == a.Status).Value;
                a.StatusClass = CommonMethod.GetWorkListStatusClass(a.Status);
                a.DetailList  = detailList.Where(b => b.WorkId == a.Guid).ToList();
                //if (string.IsNullOrEmpty(a.Users)) { return; }
                //var thisUserList = new List<CompanyUser>();
                //var thisUserArray = a.Users.Split(',').ToArray();
                //foreach (var item in thisUserArray)
                //{
                //    if (!string.IsNullOrEmpty(item))
                //        thisUserList.Add(userList.FirstOrDefault(b => b.UserName == item));
                //}
                //a.UserList = thisUserList;
            });
            pagerList.rows  = list;
            pagerList.total = totalcount;
            return(Json(pagerList));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取分页列表
        /// </summary>
        /// <param name="pagesize">每页显示多少行</param>
        /// <param name="offset">跳过行数</param>
        /// <param name="key">关键词</param>
        /// <param name="totalcount">输出行数</param>
        /// <param name="GroupId">输出行数</param>
        /// <returns></returns>
        public static List <WorkList> GetPagerList(WorkListQuery query, out int totalcount)
        {
            var param = new DynamicParameters();

            totalcount = 0;
            Pager pager = new Pager()
            {
                TableName = TableName + " A", Offset = query.Offset, PageSize = query.Limit, ColName = "A.[ID]", Direction = Direction.DESC
            };

            pager.Columns   = @"A.[Id],A.[ProjectId],A.[ProjectName],A.[CompanyId],A.[CompanyName],A.[CusMemberId],A.[CusCompanyId],A.[Name],A.[Infos],A.[GetTime],A.[NeedTime],A.[DoTime],A.[UserId],A.[Status],A.[Length],A.[IsDeleted],A.[CreateDate],B.[Name] CusMemberName,a.[GUID],a.UserName";
            pager.WhereStr += " and A.[IsDeleted]=0 ";
            pager.JoinSql   = "left join CustomerMember(nolock) B on a.[CusMemberId] = b.[Id]";
            if (query.CompanyId != 0)
            {
                pager.WhereStr += " and a.CompanyId=@CompanyId ";
                param.Add("CompanyId", query.CompanyId.ToString());
            }
            if (query.CusMemberId != 0)
            {
                pager.WhereStr += " and a.CusMemberId=@CusMemberId ";
                param.Add("CusMemberId", query.CusMemberId.ToString());
            }

            //param.Add("CompanyId", query.CompanyId.ToString());
            if (!string.IsNullOrEmpty(query.Sort))
            {
                pager.ColName = string.Format("A.[{0}]", query.Sort);
            }
            if (!string.IsNullOrEmpty(query.Order))
            {
                pager.Direction = query.Order == "asc" ? Direction.ASC : Direction.DESC;
            }
            if (!string.IsNullOrEmpty(query.KeyWord))
            {
                pager.WhereStr += " and ( A.[Name] like @Name or B.[Name] like @Name )";
                param.Add("Name", "%" + query.KeyWord + "%");
            }
            if (query.ProjectId != 0)
            {
                pager.WhereStr += " and A.[ProjectId] =@ProjectId";
                param.Add("ProjectId", query.ProjectId);
            }
            if (!string.IsNullOrEmpty(query.Status))
            {
                pager.WhereStr += " and A.[Status] = @Status";
                param.Add("Status", query.Status);
            }
            var list = PagerDBOperate <WorkList> .Init.GetList(pager, param, out totalcount);

            return(list);
        }