Example #1
0
        public SuccessResponse PostIssueType(CreateIssueTypeRequest issueType)
        {
            var newIssueType = _mapper.Map <IssueType>(issueType);

            newIssueType.CreatedDate = DateTime.Now;
            var issueTypeId = _issueTypeLogic.CreateIssueType(newIssueType);

            return(new SuccessResponse
            {
                Id = issueTypeId,
                Message = "IssueType Created Successfully"
            });
        }
        public async Task <IActionResult> CreateIssueTypeByUserProject([FromRoute] string username, [FromRoute] string projectName, [FromBody] CreateIssueTypeRequest issueTypeRequest)
        {
            if (issueTypeRequest == null)
            {
                return(new BadRequestResult());
            }

            var project = await _projectService.GetProjectByUserAsync(username, projectName).ConfigureAwait(false);

            if (project == null)
            {
                return(new NotFoundResult());
            }

            var issueType = await _issueTypeService.GetIssueTypeByProjectAsync(project.Id, issueTypeRequest.Name).ConfigureAwait(false);

            if (issueType != null)
            {
                return(new ConflictResult());
            }

            var newIssueType = new IssueType
            {
                Name      = issueTypeRequest.Name,
                ProjectId = project.Id,
            };

            var created = await _issueTypeService.CreateIssueTypeAsync(newIssueType).ConfigureAwait(false);

            var locationUri = _uriService.GetUri(newIssueType.Name);

            if (created)
            {
                return(Created(locationUri, new Response <IssueTypeResponse>(_mapper.Map <IssueTypeResponse>(newIssueType))));
            }
            return(NotFound());
        }