public IssueCreationService(IProjectRepository projectRepository, ITrackerRepository trackerRepository, IIssueStatusRepository issueStatusRepository, IIssuePriorityRepository issuePriorityRepository, IUserRepository userRepository, IIssueRepository issueRepository) { _projectRepository = projectRepository; _trackerRepository = trackerRepository; _issueStatusRepository = issueStatusRepository; _issuePriorityRepository = issuePriorityRepository; _userRepository = userRepository; _issueRepository = issueRepository; }
public async Task <IActionResult> Create( CancellationToken cancellationToken, [FromBody] CreateIssueStatusBinding binding, [FromServices] IIssueStatusRepository issueStatusRepository) { var issueStatus = await issueStatusRepository.Get(binding.Id, cancellationToken); if (issueStatus != null) { if (!issueStatus.Name.Equals(binding.Name)) { throw new ApiException(HttpStatusCode.Conflict, ErrorCode.IssueStatusAlreadyExists, "Issue status already exists with other parameters"); } } issueStatus = new IssueStatus(binding.Id, binding.Name, binding.IsActive); await issueStatusRepository.Save(issueStatus); return(CreatedAtRoute("GetIssueStatusAdminRoute", new { id = issueStatus.Id }, null)); }