Exemplo n.º 1
0
        public async Task <IActionResult> CreateProject([FromBody] ProjectBaseDto dto)
        {
            try
            {
                if (dto == null)
                {
                    return(BadRequest());
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var exists = await _sdlcSystemAppService.CheckSdlcSystemExists(dto.SdlcSystemId);

                if (!exists)
                {
                    return(NotFound());
                }

                var conflict = await _projectAppService.CheckForConflicting(dto.SdlcSystemId, dto.ExternalId);

                if (conflict)
                {
                    return(Conflict());
                }

                var result = _projectAppService.CreateProject(dto);
                return(result == null?StatusCode(500, "A problem occurred while handling your request.")
                           : CreatedAtRoute("GetProject", new { id = result.Id }, result));
            }
            catch (Exception ex)
            {
                _log4net.Info(ex.Message, ex);
                return(StatusCode(500));
            }
        }