Beispiel #1
0
        /// <summary>
        /// 获取核算 列表信息
        /// </summary>
        /// <param name="queryModel"></param>
        /// <returns></returns>
        public PagedResultDto <ExpenseOut> GetListDatas(ExpenseInput queryModel)
        {
            if (queryModel.Step == (int)CommonEnum.EnumCostAccountSplitStep.History)
            {
                //根据不同的费用类型,进行适配转换
                ITarget adapter  = new Adapter.Adapter(_crmDbContext, _mapper, queryModel.ExpenseType, queryModel.Period);
                var     entities = adapter.GetHistoryData(queryModel);
                return(entities);
            }

            var expression = Expression(queryModel);
            var data       = _expenseAccountRepository.PageList(expression, queryModel.CurrentPage,
                                                                queryModel.PageSize
                                                                , new Tuple <Expression <Func <ExpenseAccount, object> >, SortOrder>(s => s.ExpenseCode, SortOrder.Descending)
                                                                , new Tuple <Expression <Func <ExpenseAccount, object> >, SortOrder>(s => s.ExpenseLineNum, SortOrder.Ascending));
            var models = _mapper.Map <List <ExpenseOut> >(data.Items);
            var dic    = EnumHelper.GetValueAndDesc <CommonEnum.EnumCostAccountSplitStep>();

            models.ForEach(s => s.StepName = dic[s.Step]);
            return(new PagedResultDto <ExpenseOut>(data.Total, models));
        }