Exemple #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));
        }
Exemple #2
0
        public IResult <ICreateLotDefectReturn> CreateLotDefect(ICreateLotDefectParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var parsedParameters = parameters.ToParsedParameters();

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

            var createDefectResult = new CreateInHouseContaminationDefectCommand(_lotUnitOfWork).Execute(parsedParameters.ResultingObject, _timeStamper.CurrentTimeStamp);

            if (!createDefectResult.Success)
            {
                return(createDefectResult.ConvertTo <ICreateLotDefectReturn>());
            }

            _lotUnitOfWork.Commit();

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

            return(SyncParameters.Using(new SuccessResult <ICreateLotDefectReturn>(
                                            new CreateLotDefectReturn(createDefectResult.ResultingObject.ToLotDefectKey(), synchronizeLotParameters)),
                                        synchronizeLotParameters));
        }
Exemple #3
0
        public IResult AddLotAttributes(IAddLotAttributesParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }

            var parsedParameters = parameters.ToParsedParameters();

            if (!parsedParameters.Success)
            {
                return(parsedParameters);
            }

            var setAttributesResult = new SetLotAttributesConductor(_lotUnitOfWork).AddLotAttributes(_timeStamper.CurrentTimeStamp, parsedParameters.ResultingObject);

            if (!setAttributesResult.Success)
            {
                return(setAttributesResult);
            }

            _lotUnitOfWork.Commit();

            var syncParameters = new SynchronizeLotParameters
            {
                LotKeys = parsedParameters.ResultingObject.LotKeys,
                OverrideOldContextLotAsCompleted = parameters.OverrideOldContextLotAsCompleted
            };

            return(SyncParameters.Using(new SuccessResult <ILotStatInfoReturn>(new LotStatInfoReturn(syncParameters)), syncParameters));
        }
Exemple #4
0
        public IResult <ILotStatInfoReturn> SetLotAttributes(ISetLotAttributeParameters parameters)
        {
            var parsedParameters = parameters.ToParsedParameters();

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

            var currentTimeStamp    = _timeStamper.CurrentTimeStamp;
            var setAttributesResult = new SetLotAttributesConductor(_lotUnitOfWork).Execute(currentTimeStamp, parsedParameters.ResultingObject);

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

            #region SetLotStatus to 'Accepted'

#warning Remove if/when 'OverrideOldContextLotAsCompleted' is removed. -RI 6/16/2014

            if (parameters.OverrideOldContextLotAsCompleted)
            {
                var setStatusResult = new SetLotStatusConductor(_lotUnitOfWork).Execute(currentTimeStamp, new SetLotStatusParameters
                {
                    LotKey     = parsedParameters.ResultingObject.LotKey,
                    Parameters = parsedParameters.ResultingObject
                }, true);
                if (!setStatusResult.Success)
                {
                    return(setStatusResult.ConvertTo <ILotStatInfoReturn>());
                }
            }

            #endregion

            _lotUnitOfWork.Commit();

            var syncParameters = new SynchronizeLotParameters
            {
                LotKey = parsedParameters.ResultingObject.LotKey,
                OverrideOldContextLotAsCompleted = parameters.OverrideOldContextLotAsCompleted
            };
            return(SyncParameters.Using(new SuccessResult <ILotStatInfoReturn>(new LotStatInfoReturn(syncParameters)), syncParameters));
        }
 public CreateLotDefectReturn(string lotDefectKey, SynchronizeLotParameters parameters) : base(parameters)
 {
     LotDefectKey = lotDefectKey;
 }
 public LotStatInfoReturn(SynchronizeLotParameters parameters)
 {
     _parameters = parameters;
 }