Example #1
0
        public async Task <ApiResult <IEnumerable <ProUserInfoViewModel> > > TeamList(int pageIndex, string Title, string ProjectID, int ProjectNodeID, bool?IsEnable, int?Role)
        {
            // 以接口的形式返回数据
            var res = new ApiResult <IEnumerable <ProUserInfoViewModel> >()
            {
                statusCode = (int)ApiEnum.Status
            };

            if (pageIndex == 0)
            {
                pageIndex = 1;
            }
            if (Role == null)
            {
                Role = 0;
            }
            var parm = Expressionable.Create <ProjectUserInfo>()
                       .AndIF(!string.IsNullOrEmpty(Title), m => SqlFunc.Subqueryable <UserInfo>().Where(a => a.ID == m.UserID && a.NickName.Contains(Title)).Any())
                       .AndIF(IsEnable != null, m => m.IsEnable == IsEnable)
                       .AndIF(!string.IsNullOrEmpty(ProjectID), m => m.ProjectID == ProjectID)
                       .AndIF(ProjectNodeID != 0, m => m.ProjectNodeID == ProjectNodeID)
                       .AndIF(Role != 0, m => m.Role == Role);
            var list = projectUserdb.GetPages(parm.ToExpression(), new PageParm(pageIndex), "Role,Sorting DESC");
            List <ProUserInfoViewModel> list2 = new List <ProUserInfoViewModel>();

            if (list.DataSource != null)
            {
                foreach (var item in list.DataSource)
                {
                    ProUserInfoViewModel pm = new ProUserInfoViewModel();
                    pm.ID            = item.ID;
                    pm.ProjectID     = item.ProjectID;
                    pm.ProjectNodeID = item.ProjectNodeID;
                    pm.UserID        = item.UserID;
                    UserInfo userInfo = userdb.GetId(item.UserID);
                    if (userInfo != null)
                    {
                        pm.UserName = userdb.GetNames(userInfo);
                    }
                    pm.Role       = item.Role;
                    pm.Proportion = item.Proportion;
                    pm.AddDate    = Utility.GetDateFormat(item.AddDate);
                    pm.IsEnable   = item.IsEnable;
                    list2.Add(pm);
                }
                res.success    = true;
                res.data       = list2;
                res.index      = pageIndex;
                res.count      = list.TotalCount;
                res.size       = list.PageSize;
                res.pages      = list.TotalPages;
                res.statusCode = (int)ApiEnum.Status;
            }
            else
            {
                res.success    = false;
                res.statusCode = (int)ApiEnum.Status;
            }
            return(await Task.Run(() => res));
        }
Example #2
0
        public async Task <ApiResult <ProUserInfoViewModel> > TeamItem(int ID)
        {
            var                  res = new ApiResult <ProUserInfoViewModel>();
            ProjectUserInfo      m;
            ProUserInfoViewModel pm = new ProUserInfoViewModel();

            if (ID > 0)
            {
                m = projectUserdb.GetId(ID);
                if (m != null)
                {
                    pm.ID            = m.ID;
                    pm.ProjectID     = m.ProjectID;
                    pm.ProjectNodeID = m.ProjectNodeID;
                    pm.UserID        = m.UserID;
                    UserInfo userInfo = userdb.GetId(m.UserID);
                    if (userInfo != null)
                    {
                        pm.UserName = userdb.GetNames(userInfo);
                    }
                    pm.Role       = m.Role;
                    pm.Proportion = m.Proportion;
                    pm.AddDate    = Utility.GetDateFormat(m.AddDate);
                    pm.IsEnable   = m.IsEnable;

                    res.success = true;
                }
            }
            res.data = pm;
            return(await Task.Run(() => res));
        }