Example #1
0
 public IResult UpdateMillAndWetdown(IUpdateMillAndWetdownParameters parameters)
 {
     try
     {
         return(_millAndWetdownServiceProvider.UpdateMillAndWetdown(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult(ex.Message));
     }
 }
Example #2
0
        internal static IResult <UpdateMillAndWetdownParameters> ToParsedParameters(this IUpdateMillAndWetdownParameters parameters)
        {
            var baseResult = Parse <UpdateMillAndWetdownParameters, IUpdateMillAndWetdownParameters>(parameters);

            if (!baseResult.Success)
            {
                return(baseResult.ConvertTo <UpdateMillAndWetdownParameters>());
            }

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

            if (!lotKeyResult.Success)
            {
                return(lotKeyResult.ConvertTo <UpdateMillAndWetdownParameters>());
            }

            baseResult.ResultingObject.LotKey = new LotKey(lotKeyResult.ResultingObject);
            return(baseResult);
        }
        public IResult <string> UpdateMillAndWetdown(IUpdateMillAndWetdownParameters parameters)
        {
            var parseResult = parameters.ToParsedParameters();

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

            var result = new UpdateMillAndWetdownConductor(_productionUnitOfWork).Execute(_timeStamper.CurrentTimeStamp, parseResult.ResultingObject);

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

            _productionUnitOfWork.Commit();

            var lotKey = new LotKey(result.ResultingObject);

            return(SyncParameters.Using(new SuccessResult <string>(lotKey), lotKey));
        }