Пример #1
0
 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));
     }
 }
Пример #2
0
        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));
        }