public void OpenSprint(Sprint sprint, string userId) { sprint.state = AppConstants.SPRINT_STATUS_OPEN; TransactionOptions _transcOptions = new TransactionOptions(); _transcOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; using (TransactionScope sc = new TransactionScope(TransactionScopeOption.Required, _transcOptions, EnterpriseServicesInteropOption.Full)) { try { uRepository.UpdateStateAndVersion(sprint); #region unlock diagrams DiagramService dService = (DiagramService) new ServiceLocator <Attachment>().locate(); var diagrams = dService.FindBySprint(sprint.Id); dService.UnLockDiagrams(diagrams, userId); #endregion sc.Complete(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { sc.Dispose(); } } }
public List <UserStoryAttachment> CloseSprint(Sprint sprint, string userId) { var diagrams = new List <UserStoryAttachment>(); TransactionOptions _transcOptions = new TransactionOptions(); _transcOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; using (TransactionScope sc = new TransactionScope(TransactionScopeOption.Required, _transcOptions, EnterpriseServicesInteropOption.Full)) { try { uRepository.Close(sprint, userId); #region lock diagrams DiagramService dService = (DiagramService) new ServiceLocator <Attachment>().locate(); diagrams = dService.FindBySprint(sprint.Id); dService.LockDiagrams(diagrams, userId); #endregion sc.Complete(); } catch (Exception ex) { throw new BadRequestException(AppConstants.EXCEPTION_SPRINT_CLOSE_ERROR); } finally { sc.Dispose(); } } return(diagrams); }