コード例 #1
0
 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;
 }
コード例 #2
0
        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));
        }