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