Exemple #1
0
        private IQueryable <ICustomerContractSummaryReturn> GetCustomerContractQuery(string customerKey, ContractStatus?contractStatus)
        {
            var param = new FilterCustomerContractsParameters
            {
                CustomerKey    = customerKey,
                ContractStatus = contractStatus,
            };

            var results = _salesService.GetCustomerContracts(param);

            results.EnsureSuccessWithHttpResponseException();
            return(results.ResultingObject.OrderByDescending(r => r.ContractDate));
        }
 public IResult <IQueryable <ICustomerContractSummaryReturn> > GetCustomerContracts(FilterCustomerContractsParameters parameters = null)
 {
     try
     {
         return(_salesServiceProvider.GetCustomerContracts(parameters));
     }
     catch (Exception ex)
     {
         ex = ex.GetBaseException();
         _exceptionLogger.LogException(ex);
         return(new FailureResult <IQueryable <ICustomerContractSummaryReturn> >(null, ex.Message));
     }
 }
Exemple #3
0
        public IResult <IQueryable <ICustomerContractSummaryReturn> > GetCustomerContracts(FilterCustomerContractsParameters parameters)
        {
            var parsedFiltersResult = parameters.ParseToPredicateBuilderFilters();

            if (!parsedFiltersResult.Success)
            {
                return(parsedFiltersResult.ConvertTo <IQueryable <ICustomerContractSummaryReturn> >());
            }

            var predicateResult = ContractPredicateBuilder.BuildPredicate(parsedFiltersResult.ResultingObject);

            if (!predicateResult.Success)
            {
                return(predicateResult.ConvertTo <IQueryable <ICustomerContractSummaryReturn> >());
            }

            var select = ContractProjectors.SelectSummary();
            var query  = _inventoryShipmentOrderUnitOfWork.ContractRepository.All()
                         .Where(predicateResult.ResultingObject)
                         .SplitSelect(select);

            return(new SuccessResult <IQueryable <ICustomerContractSummaryReturn> >(query));
        }
Exemple #4
0
        internal static IResult <ContractPredicateBuilder.PredicateBuilderFilters> ParseToPredicateBuilderFilters(this FilterCustomerContractsParameters parameters)
        {
            if (parameters == null)
            {
                return(new SuccessResult <ContractPredicateBuilder.PredicateBuilderFilters>());
            }

            var result = new ContractPredicateBuilder.PredicateBuilderFilters
            {
                ContractStatus      = parameters.ContractStatus,
                TermBeginRangeStart = parameters.TermBeginRangeStart,
                TermBeginRangeEnd   = parameters.TermBeginRangeEnd
            };

            if (parameters.CustomerKey != null)
            {
                var customerKeyResult = KeyParserHelper.ParseResult <ICustomerKey>(parameters.CustomerKey);
                if (!customerKeyResult.Success)
                {
                    return(customerKeyResult.ConvertTo <ContractPredicateBuilder.PredicateBuilderFilters>());
                }
                result.CustomerKey = customerKeyResult.ResultingObject;
            }

            if (parameters.BrokerKey != null)
            {
                var brokerKeyResult = KeyParserHelper.ParseResult <ICompanyKey>(parameters.BrokerKey);
                if (!brokerKeyResult.Success)
                {
                    return(brokerKeyResult.ConvertTo <ContractPredicateBuilder.PredicateBuilderFilters>());
                }
                result.BrokerKey = brokerKeyResult.ResultingObject;
            }

            return(new SuccessResult <ContractPredicateBuilder.PredicateBuilderFilters>(result));
        }