public IResult UpdateProductionBatchResults(IUpdateProductionBatchResultsParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var parsedParameters = parameters.ToParsedParameters(); if (!parsedParameters.Success) { return(parsedParameters); } var updateResult = new ProductionBatchResultsConductor(_productionUnitOfWork).Update(_timeStamper.CurrentTimeStamp, parsedParameters.ResultingObject); if (!updateResult.Success) { return(updateResult); } _productionUnitOfWork.Commit(); return(SyncParameters.Using(new SuccessResult(), parsedParameters.ResultingObject.LotKey)); }
public IResult <string> CreateProductionBatchResults(ICreateProductionBatchResultsParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var parametersResult = parameters.ToParsedParameters(); if (!parametersResult.Success) { return(parametersResult.ConvertTo <string>()); } var createResult = new ProductionBatchResultsConductor(_productionUnitOfWork).Create(_timeStamper.CurrentTimeStamp, parametersResult.ResultingObject); if (!createResult.Success) { return(createResult.ConvertTo <string>()); } _productionUnitOfWork.Commit(); return(SyncParameters.Using(new SuccessResult <string>(parametersResult.ResultingObject.LotKey), parametersResult.ResultingObject.LotKey)); }