예제 #1
0
        public IResult UpdatePackagingProduct(IUpdatePackagingProductParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var parsedResults = parameters.ToParsedParameters();

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

            var commandResult = new UpdateProductCommand(_productUnitOfWork).UpdatePackagingProduct(parsedResults.ResultingObject, _timeStamper.CurrentTimeStamp);

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

            _productUnitOfWork.Commit();

            return(SyncParameters.Using(new SuccessResult(),
                                        new SyncProductParameters
            {
                ProductKey = commandResult.ResultingObject.ToProductKey()
            }));
        }
예제 #2
0
 public IResult UpdatePackagingProduct(IUpdatePackagingProductParameters parameters)
 {
     try
     {
         return(_productServiceProvider.UpdatePackagingProduct(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult <string>(null, ex.Message));
     }
 }
 internal static IResult <UpdatePackagingProductParameters> ToParsedParameters(this IUpdatePackagingProductParameters parameters)
 {
     if (parameters == null)
     {
         throw new ArgumentNullException("parameters");
     }
     return(ToParsedParameters <UpdatePackagingProductParameters, IUpdatePackagingProductParameters>(parameters));
 }