コード例 #1
0
 public IResult SetShipmentInformation(ISetInventoryShipmentInformationParameters parameters)
 {
     try
     {
         return(_inventoryShipmentOrderServiceProvider.SetShipmentInformation(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult(ex.Message));
     }
 }
コード例 #2
0
        public IResult SetShipmentInformation(ISetInventoryShipmentInformationParameters parameters)
        {
            var parametersResult = parameters.ToParsedParameters();

            if (!parametersResult.Success)
            {
                return(parametersResult);
            }

            var result = new SetShipmentInformationConductor(_inventoryShipmentOrderUnitOfWork).SetShipmentInformation(parametersResult.ResultingObject);

            if (!result.Success)
            {
                return(result);
            }

            _inventoryShipmentOrderUnitOfWork.Commit();

            var key = new InventoryShipmentOrderKey(result.ResultingObject);

            return(SyncParameters.Using(new SuccessResult <string>(key), key));
        }
        internal static IResult <SetShipmentInformationConductor.Parameters> ToParsedParameters(this ISetInventoryShipmentInformationParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var shipmentOrderKeyResult = KeyParserHelper.ParseResult <IInventoryShipmentOrderKey>(parameters.InventoryShipmentOrderKey);

            if (!shipmentOrderKeyResult.Success)
            {
                return(shipmentOrderKeyResult.ConvertTo <SetShipmentInformationConductor.Parameters>(null));
            }

            return(new SuccessResult <SetShipmentInformationConductor.Parameters>(new SetShipmentInformationConductor.Parameters
            {
                SetShipmentInformation = parameters,
                ShipmentOrderKey = new InventoryShipmentOrderKey(shipmentOrderKeyResult.ResultingObject)
            }));
        }