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)); }
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)); }