async public Task <object> GetPagingExecuteProjectList(Paging paging, ExecuteProjectFilter filter, bool IsOrderByCreateTime) { //这个不需要后台指定过滤条件; var listOfPaging = await Db.GetPagingListSpAsync <VTFNExecuteProject, ExecuteProjectFilter>( paging, filter, $"TFNExecuteProject({CurrentUser.Id})", orderStr : IsOrderByCreateTime? "" : nameof(VTFNExecuteProject.TotalExecuteAmount)); var listOfPackage = await Db.GetListSpAsync <VPackageOfExcuteBudget, PackageFilter>( new PackageFilter() { WhereInExecuteProjectId = listOfPaging.List.Select(i => i.Id).ToStringIdWithSpacer() }); return(new { listOfPaging.Total, List = from item in listOfPaging.List select new { ExecuteProject = item, Package = from itemOfPackage in listOfPackage where itemOfPackage.ExecuteProjectId.Equals(item.Id) select itemOfPackage, } }); }
async public Task <object> GetPagingExecuteProjectListNotInFlowAndWithPackage(Paging paging, ExecuteProjectFilter filter) { //后台指定归口部门的过滤条件; //var filterExtend = Tool.ModelToModel<ExecuteProjectExtendFilter, ExecuteProjectFilter>(filter); //filterExtend.RelevantDepartmentId = CurrentUser.DepartmentId; filter.RelevantDepartmentId = CurrentUser.DepartmentId; //返回的始终是VBudgetProject var listOfPaging = await Db.GetPagingListSpAsync <VExecuteProjectNotInFlow, ExecuteProjectFilter>( paging, filter); var listOfPackage = await Db.GetListSpAsync <VPackageOfExcuteBudget, PackageFilter>( new PackageFilter() { WhereInExecuteProjectId = listOfPaging.List.Select(i => i.Id).ToStringIdWithSpacer() }); return(new { listOfPaging.Total, List = from item in listOfPaging.List select new { ExecuteProject = item, Package = from itemOfPackage in listOfPackage where itemOfPackage.ExecuteProjectId.Equals(item.Id) select itemOfPackage, } }); }