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)); } }
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)); }
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)); }