public async Task <IActionResult> Post(string retrospectiveName, [FromBody] Feedback feedback)
        {
            if (string.IsNullOrEmpty(retrospectiveName))
            {
                return(BadRequest("Invalid value in retrospective name"));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid feedback data"));
            }

            try
            {
                var result = await _retrospectiveDataRepository.Add(_filePath, retrospectiveName, feedback);

                if (result != null)
                {
                    return(CreatedAtAction($"Get", "Retrospectives", new { name = retrospectiveName }, result));
                }
                else
                {
                    return(BadRequest("Failed to add feedback data"));
                }
            }
            catch (RetrospectiveDataException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new { Message = $"Internal server error: {ex.Message}" }));
            }
        }
示例#2
0
        public async Task <ActionResult> Post([FromBody] Retrospective retrospectiveDataModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid retrospective data"));
            }

            try
            {
                var retrospectiveData = ConvertModelToEntity(retrospectiveDataModel);

                var result = await _retrospectiveDataRepository.Add(_filePath, retrospectiveData);

                return(CreatedAtAction($"Get", new { name = result.Name }, result));
            }
            catch (RetrospectiveDataException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new { Message = $"Internal server error: {ex.Message}" }));
            }
        }