public IResult <ICustomerContractDetailReturn> GetCustomerContract(string customerContractKey) { if (customerContractKey == null) { throw new ArgumentNullException("customerContractKey"); } var contractKeyResult = KeyParserHelper.ParseResult <IContractKey>(customerContractKey); if (!contractKeyResult.Success) { return(contractKeyResult.ConvertTo <ICustomerContractDetailReturn>()); } var contractKey = new ContractKey(contractKeyResult.ResultingObject); var select = ContractProjectors.SelectDetail(); var contractDetail = _inventoryShipmentOrderUnitOfWork.ContractRepository.All() .Where(contractKey.FindByPredicate) .SplitSelect(select).FirstOrDefault(); if (contractDetail == null) { return(new InvalidResult <ICustomerContractDetailReturn>(null, string.Format(UserMessages.CustomerContractNotFound, customerContractKey))); } return(new SuccessResult <ICustomerContractDetailReturn>(contractDetail)); }
public IResult <IContractShipmentSummaryReturn> GetContractShipmentSummary(string contractKey) { var contractKeyResult = KeyParserHelper.ParseResult <IContractKey>(contractKey); if (!contractKeyResult.Success) { return(contractKeyResult.ConvertTo <IContractShipmentSummaryReturn>()); } var key = new ContractKey(contractKeyResult.ResultingObject); var select = ContractProjectors.SplitSelectShipmentSummary(); var contract = _inventoryShipmentOrderUnitOfWork.ContractRepository .All().Where(key.FindByPredicate) .SplitSelect(select).FirstOrDefault(); if (contract == null) { return(new InvalidResult <IContractShipmentSummaryReturn>(null, string.Format(UserMessages.CustomerContractNotFound, contractKey))); } return(new SuccessResult <IContractShipmentSummaryReturn>(contract)); }
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)); }