示例#1
0
 internal PickedInventoryParameters(IInventoryPickOrderItemKey orderItemKey, IInventoryKey inventoryKey, int quantity, string customerLotCode, string customerProductCode)
     : this(inventoryKey, quantity, customerLotCode, customerProductCode)
 {
     if (orderItemKey != null)
     {
         OrderItemKey = new InventoryPickOrderItemKey(orderItemKey);
     }
 }
示例#2
0
        public IResult Execute(ISchedulePickOrderItemParameter item)
        {
            var key       = new InventoryPickOrderItemKey(item);
            var orderItem = _inventoryPickOrderUnitOfWork.InventoryPickOrderItemRepository.FindByKey(key);

            if (orderItem == null)
            {
                return(new InvalidResult(string.Format("Could not find Inventory Pick Order Item with key '{0}'.", key.KeyValue)));
            }

            _inventoryPickOrderUnitOfWork.InventoryPickOrderItemRepository.Remove(orderItem);
            return(new SuccessResult());
        }
        public IResult Execute(ISchedulePickOrderItemParameter item)
        {
            var key       = new InventoryPickOrderItemKey(item);
            var orderItem = _inventoryPickOrderUnitOfWork.InventoryPickOrderItemRepository.FindByKey(key);

            if (orderItem == null)
            {
                return(new InvalidResult(string.Format("Could not find Inventory Pick Order Item with key '{0}'.", key.KeyValue)));
            }

            orderItem.ProductId           = item.ProductId;
            orderItem.PackagingProductId  = item.PackagingProductId;
            orderItem.TreatmentId         = item.TreatmentId ?? StaticInventoryTreatments.NoTreatment.Id;
            orderItem.Quantity            = item.Quantity;
            orderItem.CustomerLotCode     = item.CustomerLotCode;
            orderItem.CustomerProductCode = item.CustomerProductCode;
            orderItem.CustomerId          = item.CustomerKey != null ? item.CustomerKey.CustomerKey_Id : (int?)null;

            return(new SuccessResult());
        }
        internal static IResult <InventoryPredicateBuilder.PredicateBuilderFilters> ParseToPredicateBuilderFilters(this FilterInventoryForShipmentOrderParameters parameters,
                                                                                                                   out InventoryShipmentOrderKey orderKey, out InventoryPickOrderItemKey orderItemKey)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }
            orderKey     = null;
            orderItemKey = null;

            if (!string.IsNullOrWhiteSpace(parameters.OrderKey))
            {
                var orderKeyResult = KeyParserHelper.ParseResult <IInventoryShipmentOrderKey>(parameters.OrderKey);
                if (!orderKeyResult.Success)
                {
                    return(orderKeyResult.ConvertTo <InventoryPredicateBuilder.PredicateBuilderFilters>());
                }
                orderKey = orderKeyResult.ResultingObject.ToInventoryShipmentOrderKey();
            }

            if (!string.IsNullOrWhiteSpace(parameters.OrderItemKey))
            {
                var orderItemKeyResult = KeyParserHelper.ParseResult <IInventoryPickOrderItemKey>(parameters.OrderItemKey);
                if (!orderItemKeyResult.Success)
                {
                    return(orderItemKeyResult.ConvertTo <InventoryPredicateBuilder.PredicateBuilderFilters>());
                }
                orderItemKey = orderItemKeyResult.ResultingObject.ToInventoryPickOrderItemKey();
            }

            var baseResult = parameters.ParseToPredicateBuilderFilters();

            if (baseResult.Success)
            {
                var filters = baseResult.ResultingObject;
                return(new SuccessResult <InventoryPredicateBuilder.PredicateBuilderFilters>(filters));
            }
            return(baseResult);
        }