Exemplo n.º 1
0
        public IResult <ILotStatInfoReturn> SetLotQualityStatus(ISetLotStatusParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var parsedParameters = parameters.ToParsedParameters();

            if (!parsedParameters.Success)
            {
                return(parsedParameters.ConvertTo <ILotStatInfoReturn>());
            }

            var result = new SetLotStatusConductor(_lotUnitOfWork).Execute(_timeStamper.CurrentTimeStamp, parsedParameters.ResultingObject);

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

            _lotUnitOfWork.Commit();

            var synchronizeLotParameters = new SynchronizeLotParameters
            {
                LotKey = parsedParameters.ResultingObject.LotKey,
                OverrideOldContextLotAsCompleted = false
            };

            return(SyncParameters.Using(new SuccessResult <ILotStatInfoReturn>(new LotStatInfoReturn(synchronizeLotParameters)), synchronizeLotParameters));
        }
Exemplo n.º 2
0
 public IResult <ILotStatInfoReturn> SetLotQualityStatus(ISetLotStatusParameters parameters)
 {
     try
     {
         return(_lotServiceProvider.SetLotQualityStatus(parameters));
     }
     catch (Exception ex)
     {
         _exceptionLogger.LogException(ex);
         return(new FailureResult <ILotStatInfoReturn>(null, ex.Message));
     }
 }
Exemplo n.º 3
0
        internal static IResult <SetLotStatusParameters> ToParsedParameters(this ISetLotStatusParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

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

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

            return(new SuccessResult <SetLotStatusParameters>(new SetLotStatusParameters
            {
                Parameters = parameters,
                LotKey = new LotKey(lotKeyResult.ResultingObject)
            }));
        }
Exemplo n.º 4
0
            public void ParametersAreCorrectlyTransposedToDto()
            {
                // arrange
                ISetLotStatusParameters actualParameters = null;

                MockLotService.Setup(m => m.SetLotQualityStatus(It.IsAny <ISetLotStatusParameters>()))
                .Callback((ISetLotStatusParameters p) => actualParameters = p)
                .Returns(new SuccessResult <ILotStatInfoReturn>());
                const string           lotKey         = "12345";
                const LotQualityStatus expectedStatus = LotQualityStatus.Released;
                var dto = new SetLotStatusDto
                {
                    Status = expectedStatus
                };

                // act
                LotsControler.SetStatus(lotKey, dto);

                // assert
                Assert.IsNotNull(actualParameters);
                Assert.AreEqual(lotKey, actualParameters.LotKey);
                Assert.AreEqual(expectedStatus, actualParameters.QualityStatus);
            }