Exemplo n.º 1
0
        public IResult AddLotAllowance(ILotAllowanceParameters parameters)
        {
            var parsedParameters = parameters.ToParsedParameters();

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

            var result = new LotAllowancesCommand(_lotUnitOfWork).Execute(parsedParameters.ResultingObject, true);

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

            if (result.State != ResultState.NoWorkRequired)
            {
                _lotUnitOfWork.Commit();
            }

            return(SyncParameters.Using(new SuccessResult(), new SynchronizeLotParameters
            {
                LotKey = parsedParameters.ResultingObject.LotKey,
                UpdateSerializationOnly = true
            }));
        }
Exemplo n.º 2
0
 public IResult RemoveLotAllowance(ILotAllowanceParameters parameters)
 {
     try
     {
         return(_lotServiceProvider.RemoveLotAllowance(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         throw;
     }
 }
        internal static IResult <LotAllowanceParameters> ToParsedParameters(this ILotAllowanceParameters parameters)
        {
            var lotKey = KeyParserHelper.ParseResult <ILotKey>(parameters.LotKey);

            if (!lotKey.Success)
            {
                return(lotKey.ConvertTo <LotAllowanceParameters>());
            }

            var customerKey = string.IsNullOrWhiteSpace(parameters.CustomerKey) ? null : KeyParserHelper.ParseResult <ICustomerKey>(parameters.CustomerKey);

            if (customerKey != null && !customerKey.Success)
            {
                return(customerKey.ConvertTo <LotAllowanceParameters>());
            }

            var contractKey = string.IsNullOrWhiteSpace(parameters.ContractKey) ? null : KeyParserHelper.ParseResult <IContractKey>(parameters.ContractKey);

            if (contractKey != null && !contractKey.Success)
            {
                return(contractKey.ConvertTo <LotAllowanceParameters>());
            }

            var customerOrderKey = string.IsNullOrWhiteSpace(parameters.CustomerOrderKey) ? null : KeyParserHelper.ParseResult <ISalesOrderKey>(parameters.CustomerOrderKey);

            if (customerOrderKey != null && !customerOrderKey.Success)
            {
                return(customerOrderKey.ConvertTo <LotAllowanceParameters>());
            }

            return(new SuccessResult <LotAllowanceParameters>(new LotAllowanceParameters
            {
                LotKey = lotKey.ResultingObject.ToLotKey(),
                CustomerKey = customerKey == null ? null : customerKey.ResultingObject.ToCustomerKey(),
                ContractKey = contractKey == null ? null : contractKey.ResultingObject.ToContractKey(),
                SalesOrderKey = customerOrderKey == null ? null : customerOrderKey.ResultingObject.ToSalesOrderKey()
            }));
        }