diff --git a/Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs b/Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs index 48ae7c43759b9c5743eb0cddd78675961e71c601..990851a82ad18d1753b8c68371fe7a3a2dc20041 100644 --- a/Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs +++ b/Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs @@ -132,5 +132,14 @@ namespace Tsi1.Api.Controllers return Ok(result.Data); } + [Authorize(Roles = UserTypes.FacultyAdmin + ", " + UserTypes.UdelarAdmin + ", " + UserTypes.Professor + ", " + UserTypes.Student)] + [HttpGet("GetAnswerOptions")] + public async Task<IActionResult> GetAnswerOptions() + { + var result = await _surveyService.GetAnswerOptions(); + + return Ok(result.Data); + } + } } diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Dtos/AnswerOptionDetailDto.cs b/Tsi1.Api/Tsi1.BusinessLayer/Dtos/AnswerOptionDetailDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..0acb224a908f81bafc6338f50f8108510709035b --- /dev/null +++ b/Tsi1.Api/Tsi1.BusinessLayer/Dtos/AnswerOptionDetailDto.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Tsi1.BusinessLayer.Dtos +{ + public class AnswerOptionDetailDto + { + public int Id { get; set; } + public string Name { get; set; } + } +} diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs index d7f378c5c8514fd0686903f929573bc0ccf71795..a3e0c6d914391310540feb35564ed2c8638a3f9e 100644 --- a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs +++ b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs @@ -49,6 +49,7 @@ namespace Tsi1.BusinessLayer.Helpers CreateMap<SurveyResponse, SurveyResponseDetailDto>(); CreateMap<SurveyAnswer, SurveyAnswerDetailDto>(); CreateMap<SurveyAnswer, SurveyAnswerCreateDto>(); + CreateMap<AnswerOption, AnswerOptionDetailDto>(); CreateMap<ForumCreateDto, Forum>(); CreateMap<ForumPreviewDto, Forum>(); @@ -87,6 +88,7 @@ namespace Tsi1.BusinessLayer.Helpers CreateMap<SurveyResponseDetailDto, SurveyResponse>(); CreateMap<SurveyAnswerDetailDto, SurveyAnswer>(); CreateMap<SurveyAnswerCreateDto, SurveyAnswer>(); + CreateMap<AnswerOptionDetailDto, AnswerOption>(); } } } diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ISurveyService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ISurveyService.cs index 166da72495011ee0b30a6ccaee67e8f108288c3b..b521e5ae22ecb73203a5adfbaf5b3b7fb0570c4a 100644 --- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ISurveyService.cs +++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ISurveyService.cs @@ -15,5 +15,6 @@ namespace Tsi1.BusinessLayer.Interfaces Task<ServiceResult<SurveyDetailDto>> GetMySurvey(int surveyId, int userId); Task<ServiceResult<bool>> Complete(SurveyResponseCreateDto surveyResponse); Task<ServiceResult<List<SurveyResponseDetailDto>>> GetAllResponses(int surveyId, string userType, int tenantId); + Task<ServiceResult<List<AnswerOptionDetailDto>>> GetAnswerOptions(); } } diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs index 51beed6b69060913983701c8c88f8b1889fc5e1e..88f08b21443dc80e01e1decf4cd7feaf2080950f 100644 --- a/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs +++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/SurveyService.cs @@ -206,5 +206,16 @@ namespace Tsi1.BusinessLayer.Services return result; } + + public async Task<ServiceResult<List<AnswerOptionDetailDto>>> GetAnswerOptions() + { + var result = new ServiceResult<List<AnswerOptionDetailDto>>(); + + var answerOptions = await _context.AnswerOptions.AsNoTracking().ToListAsync(); + + result.Data = _mapper.Map<List<AnswerOptionDetailDto>>(answerOptions); + + return result; + } } }