Beispiel #1
0
        public PagedResultDto <CostAccountOut> GetCostAccountByPage(CostAccountInput queryModel)
        {
            var dic = EnumHelper.GetValueAndDesc <CommonEnum.EnumCostAccountSplitStep>();

            #region expression表达式
            var expression = Expression(queryModel);
            #endregion
            var pageModels = _costAccountRepository.PageListSelect(expression, s => new CostAccountOut()
            {
                POCode            = s.POCode,
                POLineNum         = s.POLineNum,
                DepartID          = s.DepartID,
                DepartNamePath    = s.DepathNamePath,
                Period            = s.Period,
                Amount            = s.Amount,
                ProjectName       = s.ProjectName,
                CompanyCode       = s.CompanyCode,
                CompanyName       = s.CompanyName,
                ContentType       = s.ContentType,
                ContentTypeName   = s.ContentTypeName,
                SubjectCode       = s.SubjectCode,
                SubjectName       = s.SubjectName,
                SecondSubjectCode = s.SecondSubjectCode,
                SecondSubjetName  = s.SecondSubjetName,
                Step     = s.Step,
                StepName = dic[s.Step]
            }, queryModel.CurrentPage, queryModel.PageSize
                                                                   , new Tuple <Expression <Func <CostAccount, object> >, SortOrder>(s => s.POCode, SortOrder.Descending)
                                                                   , new Tuple <Expression <Func <CostAccount, object> >, SortOrder>(s => s.POLineNum, SortOrder.Ascending));

            return(new PagedResultDto <CostAccountOut>(pageModels.Total, pageModels.Items));
        }
Beispiel #2
0
        private static Expression <Func <CostAccount, bool> > Expression(CostAccountInput queryModel)
        {
            Expression <Func <CostAccount, bool> > expression = s => s.Status == 0;

            if (!string.IsNullOrEmpty(queryModel.Period))
            {
                expression = expression.And(s => s.Period == queryModel.Period);
            }

            if (!string.IsNullOrEmpty(queryModel.POCode))
            {
                expression = expression.And(s => s.POCode == queryModel.POCode);
            }

            if (!string.IsNullOrEmpty(queryModel.ProjectName))
            {
                expression = expression.And(s => s.ProjectName.Contains(queryModel.ProjectName));
            }

            if (!string.IsNullOrEmpty(queryModel.DepathNamePath))
            {
                expression = expression.And(s => s.DepathNamePath.Contains(queryModel.DepathNamePath));
            }

            if (queryModel.SubjectCode != -1)
            {
                expression = expression.And(s => s.SubjectCode == queryModel.SubjectCode);
            }

            if (queryModel.SecondSubjectCode != 0 && queryModel.SecondSubjectCode != -99)
            {
                expression = expression.And(s => s.SecondSubjectCode == queryModel.SecondSubjectCode);
            }
            if (queryModel.Step != 0)
            {
                expression = expression.And(s => s.Step == queryModel.Step);
            }


            return(expression);
        }
        public JsonResult GetListDatas(CostAccountInput queryModel)
        {
            var model = _purchaseOrderService.GetCostAccountByPage(queryModel);

            return(Json(new JsonFlagPage(queryModel.Draw, model.TotalCount, model.Items)));
        }