public async Task <ApiResult <PlanCommentInfoViewModel> > ItemPlanCom(int ID) { var res = new ApiResult <PlanCommentInfoViewModel>(); PlanCommentInfo m; PlanCommentInfoViewModel pm = new PlanCommentInfoViewModel(); if (ID > 0) { m = plancomdb.GetId(ID); if (m != null) { pm.ID = m.ID; pm.ProjectID = m.ProjectID; pm.ProjectNodeID = m.ProjectNodeID; pm.PlanID = m.PlanID; pm.UserID = m.UserID; pm.Title = m.Title; UserInfo userInfo = userdb.GetId(m.UserID); if (userInfo != null) { pm.UserName = userdb.GetNames(userInfo); } pm.AddDate = Utility.GetDateFormat(m.AddDate); pm.IsEnable = m.IsEnable; pm.IsConfirm = m.IsConfirm; res.success = true; } } res.data = pm; return(await Task.Run(() => res)); }
public async Task <ApiResult <IEnumerable <ProjectPlanViewModel> > > PlanList(string ProjectID, int?ProjectNodeID, bool?IsComplete, bool?IsEnable) { // 以接口的形式返回数据 var res = new ApiResult <IEnumerable <ProjectPlanViewModel> >() { statusCode = (int)ApiEnum.Status }; if (ProjectNodeID == null) { ProjectNodeID = 0; } var parm = Expressionable.Create <ProjectPlanInfo>() .AndIF(IsComplete != null, o => o.IsComplete == IsComplete) .AndIF(IsEnable != null, m => m.IsEnable == IsEnable) .AndIF(!string.IsNullOrEmpty(ProjectID), m => m.ProjectID == ProjectID) .AndIF(ProjectNodeID != 0, m => m.ProjectNodeID == ProjectNodeID); var list = plandb.GetNopage(parm.ToExpression(), "Sorting,ID DESC"); List <ProjectPlanViewModel> list2 = new List <ProjectPlanViewModel>(); if (list != null && list.Count > 0) { foreach (var item in list) { ProjectPlanViewModel pm = new ProjectPlanViewModel(); 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.Principal = userdb.GetNames(userInfo); } pm.Contents = item.Contents; pm.BeginDate = Utility.GetDateFormat(item.BeginDate); pm.EndDate = Utility.GetDateFormat(item.EndDate); pm.IsEnable = item.IsEnable; pm.IsComplete = item.IsComplete; var parm2 = Expressionable.Create <PlanCommentInfo>() .AndIF(!string.IsNullOrEmpty(ProjectID), m => m.ProjectID == ProjectID) .AndIF(ProjectNodeID != 0, m => m.ProjectNodeID == ProjectNodeID); var list3 = plancomdb.GetNopage(parm2.ToExpression(), "ID DESC"); List <PlanCommentInfoViewModel> list4 = new List <PlanCommentInfoViewModel>(); if (list3 != null && list3.Count > 0) { foreach (var item2 in list3) { if (item2.UserID == item.UserID && item.ID == item2.PlanID) { PlanCommentInfoViewModel pm2 = new PlanCommentInfoViewModel(); pm2.ID = item2.ID; pm2.ProjectID = item2.ProjectID; pm2.ProjectNodeID = item2.ProjectNodeID; pm2.PlanID = item2.PlanID; pm2.UserID = item2.UserID; pm2.Title = item2.Title; UserInfo userInfo2 = userdb.GetId(item2.UserID); if (userInfo2 != null) { pm2.UserName = userdb.GetNames(userInfo2); } pm2.AddDate = Utility.GetDateFormat(item2.AddDate); pm2.IsEnable = item2.IsEnable; pm2.IsConfirm = item2.IsConfirm; list4.Add(pm2); } } pm.planCommentInfoViews = list4; } list2.Add(pm); } res.success = true; res.data = list2; res.statusCode = (int)ApiEnum.Status; } else { res.success = false; res.statusCode = (int)ApiEnum.Status; } return(await Task.Run(() => res)); }