Exemplo n.º 1
0
        public IResult <IQueryable <IInventoryAdjustmentReturn> > GetInventoryAdjustments(FilterInventoryAdjustmentParameters parameters)
        {
            var parseResult = parameters.ParseToPredicateBuilderFilters();

            if (!parseResult.Success)
            {
                return(parseResult.ConvertTo <IQueryable <IInventoryAdjustmentReturn> >());
            }

            var predicateResult = InventoryAdjustmentPredicateBuilder.BuildPredicate(parseResult.ResultingObject);

            if (!predicateResult.Success)
            {
                return(predicateResult.ConvertTo <IQueryable <IInventoryAdjustmentReturn> >());
            }
            var results = _inventoryUnitOfWork.InventoryAdjustmentRepository
                          .Filter(predicateResult.ResultingObject)
                          .SplitSelect(InventoryAdjustmentProjectors.SplitSelect(_inventoryUnitOfWork));

            return(new SuccessResult <IQueryable <IInventoryAdjustmentReturn> >(results));
        }
Exemplo n.º 2
0
        internal static IResult <InventoryAdjustmentPredicateBuilder.PredicateBuilderFilters> ParseToPredicateBuilderFilters(this FilterInventoryAdjustmentParameters parameters)
        {
            if (parameters == null)
            {
                return(new SuccessResult <InventoryAdjustmentPredicateBuilder.PredicateBuilderFilters>(null));
            }

            var result = new InventoryAdjustmentPredicateBuilder.PredicateBuilderFilters
            {
                AdjustmentDateRangeStart = parameters.AdjustmentDateRangeStart,
                AdjustmentDateRangeEnd   = parameters.AdjustmentDateRangeEnd
            };

            if (parameters.LotKey != null)
            {
                var lotKeyResult = KeyParserHelper.ParseResult <ILotKey>(parameters.LotKey);
                if (!lotKeyResult.Success)
                {
                    return(lotKeyResult.ConvertTo <InventoryAdjustmentPredicateBuilder.PredicateBuilderFilters>());
                }
                result.LotKey = new LotKey(lotKeyResult.ResultingObject);
            }

            return(new SuccessResult <InventoryAdjustmentPredicateBuilder.PredicateBuilderFilters>(result));
        }
 public IResult <IQueryable <IInventoryAdjustmentReturn> > GetInventoryAdjustments(FilterInventoryAdjustmentParameters parameters = null)
 {
     try
     {
         return(_inventoryAdjustmentsProvider.GetInventoryAdjustments(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult <IQueryable <IInventoryAdjustmentReturn> >(null, ex.Message));
     }
 }