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}" })); } }
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}" })); } }