public IResult UpdateAdditiveProduct(IUpdateAdditiveProductParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var parsedResults = parameters.ToParsedParameters(); if (!parsedResults.Success) { return(parsedResults.ConvertTo <string>()); } var commandResult = new UpdateProductCommand(_productUnitOfWork).UpdateAdditiveProduct(parsedResults.ResultingObject, _timeStamper.CurrentTimeStamp); if (!commandResult.Success) { return(commandResult.ConvertTo <string>()); } _productUnitOfWork.Commit(); return(SyncParameters.Using(new SuccessResult <string>(commandResult.ResultingObject.ToAdditiveProductKey()), new SyncProductParameters { ProductKey = commandResult.ResultingObject.ToProductKey() })); }
public IResult UpdateAdditiveProduct(IUpdateAdditiveProductParameters parameters) { try { return(_productServiceProvider.UpdateAdditiveProduct(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <string>(null, ex.Message)); } }
internal static IResult <UpdateAdditiveProductParameters> ToParsedParameters(this IUpdateAdditiveProductParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var baseResult = ToParsedParameters <UpdateAdditiveProductParameters, IUpdateAdditiveProductParameters>(parameters); if (!baseResult.Success) { return(baseResult); } var additiveTypeKeyResult = KeyParserHelper.ParseResult <IAdditiveTypeKey>(parameters.AdditiveTypeKey); if (!additiveTypeKeyResult.Success) { return(additiveTypeKeyResult.ConvertTo <UpdateAdditiveProductParameters>()); } baseResult.ResultingObject.AdditiveTypeKey = additiveTypeKeyResult.ResultingObject.ToAdditiveTypeKey(); return(baseResult); }