public IResult <IPickableInventoryReturn> GetInventoryItemsToPickBatch(FilterInventoryForBatchParameters parameters = null) { try { return(_productionServiceProvider.GetInventoryItemsToPickBatch(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <IPickableInventoryReturn>(null, ex.GetInnermostException().Message)); } }
public IResult <IPickableInventoryReturn> GetInventoryItemsToPickBatch(FilterInventoryForBatchParameters parameters) { parameters = parameters ?? new FilterInventoryForBatchParameters(); var filterResults = parameters.ParseToPredicateBuilderFilters(); if (!filterResults.Success) { return(filterResults.ConvertTo <IPickableInventoryReturn>()); } var filters = filterResults.ResultingObject; var itemsResult = new GetPickableInventoryCommand(_productionUnitOfWork).Execute(filters, _timeStamper.CurrentTimeStamp, PickedInventoryValidator.ForProductionBatch, false); return(itemsResult); }
internal static IResult <InventoryPredicateBuilder.PredicateBuilderFilters> ParseToPredicateBuilderFilters(this FilterInventoryForBatchParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var baseResult = (parameters as FilterInventoryParametersBase).ParseToPredicateBuilderFilters(); if (!baseResult.Success) { return(baseResult); } var filters = baseResult.ResultingObject; if (!string.IsNullOrWhiteSpace(parameters.IngredientKey)) { var additiveTypeKeyResult = KeyParserHelper.ParseResult <IAdditiveTypeKey>(parameters.IngredientKey); if (!additiveTypeKeyResult.Success) { return(additiveTypeKeyResult.ConvertTo <InventoryPredicateBuilder.PredicateBuilderFilters>()); } filters.AdditiveTypeKey = additiveTypeKeyResult.ResultingObject; } filters.FacilityKey = GlobalKeyHelpers.RinconFacilityKey; return(new SuccessResult <InventoryPredicateBuilder.PredicateBuilderFilters>(filters)); }