Multilingual support for survey and Questions

This commit is contained in:
Reginald Cherenfant Jasmin
2023-08-25 09:17:53 -04:00
31 changed files with 360 additions and 81 deletions

View File

@ -15,11 +15,20 @@ namespace DamageAssesment.Api.Questions.Controllers
this.questionsProvider = questionsProvider;
}
<<<<<<< HEAD
// get all questions
[Route("{Language}/Questions")]
[Route("Questions")]
[HttpGet]
public async Task<IActionResult> GetQuestionsAsync(string? Language)
=======
/// <summary>
/// GET request for retrieving questions.
/// </summary>
[HttpGet("Questions")]
public async Task<IActionResult> GetQuestionsAsync()
>>>>>>> cf3a04891b7b50d0a02ac9c8b9a78ccb9436c35c
{
var result = await this.questionsProvider.GetQuestionsAsync(Language);
if (result.IsSuccess)
@ -28,11 +37,20 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return NoContent();
}
<<<<<<< HEAD
//Get questions based on question id
[Route("{Language}/Questions/{id}")]
[Route("Questions/{id}")]
[HttpGet]
public async Task<IActionResult> GetQuestionAsync(int id, string? Language)
=======
/// <summary>
/// GET request for retrieving a question by ID.
/// </summary>
[HttpGet("Questions/{id}")]
public async Task<IActionResult> GetQuestionAsync(int id)
>>>>>>> cf3a04891b7b50d0a02ac9c8b9a78ccb9436c35c
{
var result = await this.questionsProvider.GetQuestionAsync(id,Language);
if (result.IsSuccess)
@ -41,10 +59,19 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return NotFound();
}
<<<<<<< HEAD
//get all questions based on survey id
[Route("{Language}/GetSurveyQuestions/{surveyId}")]
[Route("GetSurveyQuestions/{surveyId}")]
[HttpGet]
=======
/// <summary>
/// GET request for retrieving survey questions based on a survey ID.
/// Uri: {Optional language}/GetSurveyQuestions/{surveyId} :Default returns question in all languages
/// </summary>
[HttpGet("GetSurveyQuestions/{surveyId}")]
>>>>>>> cf3a04891b7b50d0a02ac9c8b9a78ccb9436c35c
public async Task<IActionResult> GetSurveyQuestions(int surveyId,string? Language)
{
var result = await this.questionsProvider.GetSurveyQuestionAsync(surveyId, Language);
@ -54,7 +81,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return NotFound();
}
//update existing question
/// <summary>
/// PUT request for updating a question (multilingual).
/// </summary>
[HttpPut("Questions")]
public async Task<IActionResult> UpdateQuestion(Models.Question question)
{
@ -72,7 +102,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return CreatedAtRoute("DefaultApi", new { id = question.Id }, question);
}
//save new question
/// <summary>
/// POST request for creating a new question (multilingual).
/// </summary>
[HttpPost("Questions")]
public async Task<IActionResult> CreateQuestion(Models.Question question)
{
@ -87,7 +120,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return CreatedAtRoute("DefaultApi", new { id = question.Id }, question);
}
// delete existing question
/// <summary>
/// DELETE request for deleting a question based on ID.
/// </summary>
[HttpDelete("Questions/{id}")]
public async Task<IActionResult> DeleteQuestion(int id)
{
@ -100,7 +136,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
// get all questions
/// <summary>
/// GET request for retrieving question categories.
/// </summary>
[HttpGet("QuestionCategories")]
public async Task<IActionResult> GetQuestionCategoriesAsync()
{
@ -111,7 +150,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return NoContent();
}
//Get questions based on question id
/// <summary>
/// GET request for retrieving a question category by ID.
/// </summary>
[HttpGet("QuestionCategories/{id}")]
public async Task<IActionResult> GetQuestionCategoryAsync(int id)
{
@ -124,7 +166,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
//update existing question
/// <summary>
/// PUT request for updating a question category.
/// </summary>
[HttpPut("QuestionCategories")]
public async Task<IActionResult> UpdateQuestionCategory(Models.QuestionCategory questionCategory)
{
@ -142,7 +187,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return CreatedAtRoute("DefaultApi", new { id = questionCategory.Id }, questionCategory);
}
//save new question
/// <summary>
/// POST request for creating a new question category.
/// </summary>
[HttpPost("QuestionCategories")]
public async Task<IActionResult> CreateQuestionCategory(Models.QuestionCategory questionCategory)
{
@ -157,7 +205,10 @@ namespace DamageAssesment.Api.Questions.Controllers
}
return CreatedAtRoute("DefaultApi", new { id = questionCategory.Id }, questionCategory);
}
// delete existing question
/// <summary>
/// DELETE request for deleting a question category based on ID.
/// </summary>
[HttpDelete("QuestionCategories/{id}")]
public async Task<IActionResult> DeleteQuestionCategory(int id)
{