Exemplo n.º 1
0
 public IResult <string> UpdateChileMaterialsReceived(IUpdateChileMaterialsReceivedParameters parameters)
 {
     try
     {
         return(_materialsServiceProvider.UpdateChileMaterialsReceived(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult <string>(null, ex.Message));
     }
 }
Exemplo n.º 2
0
        public IResult <string> UpdateChileMaterialsReceived(IUpdateChileMaterialsReceivedParameters parameters)
        {
            var parseResult = parameters.ToParsedParameters();

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

            var result = new UpdateChileMaterialsReceivedConductor(_materialsReceivedUnitOfWork).Execute(parseResult.ResultingObject, _timeStamper.CurrentTimeStamp);

            if (!result.Success)
            {
                return(result.ConvertTo <string>());
            }

            _materialsReceivedUnitOfWork.Commit();

            var key = result.ResultingObject.ToLotKey();

            return(SyncParameters.Using(new SuccessResult <string>(key), key));
        }
Exemplo n.º 3
0
        internal static IResult <UpdateChileMaterialsReceivedParameters> ToParsedParameters(this IUpdateChileMaterialsReceivedParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var lotKey = KeyParserHelper.ParseResult <ILotKey>(parameters.LotKey);

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

            var chileProductKeyResult = KeyParserHelper.ParseResult <IChileProductKey>(parameters.ChileProductKey);

            if (!chileProductKeyResult.Success)
            {
                return(chileProductKeyResult.ConvertTo <UpdateChileMaterialsReceivedParameters>());
            }

            var treatmentKey = KeyParserHelper.ParseResult <IInventoryTreatmentKey>(parameters.TreatmentKey);

            if (!treatmentKey.Success)
            {
                return(treatmentKey.ConvertTo <UpdateChileMaterialsReceivedParameters>());
            }

            var supplierKey = KeyParserHelper.ParseResult <ICompanyKey>(parameters.SupplierKey);

            if (!supplierKey.Success)
            {
                return(supplierKey.ConvertTo <UpdateChileMaterialsReceivedParameters>());
            }

            var items = new List <SetChileMaterialsReceivedItemParameters>();

            if (parameters.Items != null)
            {
                foreach (var item in parameters.Items)
                {
                    var parsedItemResult = item.ToParsedParameters();
                    if (!parsedItemResult.Success)
                    {
                        return(parsedItemResult.ConvertTo <UpdateChileMaterialsReceivedParameters>());
                    }

                    items.Add(parsedItemResult.ResultingObject);
                }
            }

            return(new SuccessResult <UpdateChileMaterialsReceivedParameters>(new UpdateChileMaterialsReceivedParameters
            {
                Params = parameters,
                LotKey = lotKey.ResultingObject.ToLotKey(),

                ChileProductKey = chileProductKeyResult.ResultingObject.ToChileProductKey(),
                SupplierKey = supplierKey.ResultingObject.ToCompanyKey(),
                TreatmentKey = treatmentKey.ResultingObject.ToInventoryTreatmentKey(),

                Items = items
            }));
        }