From 96e644a4ab9cc09a69ad88507f2114e224cddd9d Mon Sep 17 00:00:00 2001 From: esantangelo <enzo020895@gmail.com> Date: Sun, 15 Nov 2020 16:28:13 -0300 Subject: [PATCH] add endpoint GetAnswerOptions --- Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs | 9 +++++++++ .../Tsi1.BusinessLayer/Dtos/AnswerOptionDetailDto.cs | 12 ++++++++++++ .../Tsi1.BusinessLayer/Helpers/MappingProfile.cs | 2 ++ .../Tsi1.BusinessLayer/Interfaces/ISurveyService.cs | 1 + .../Tsi1.BusinessLayer/Services/SurveyService.cs | 11 +++++++++++ 5 files changed, 35 insertions(+) create mode 100644 Tsi1.Api/Tsi1.BusinessLayer/Dtos/AnswerOptionDetailDto.cs diff --git a/Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs b/Tsi1.Api/Tsi1.Api/Controllers/SurveyController.cs index 48ae7c4..990851a 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 0000000..0acb224 --- /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 d7f378c..a3e0c6d 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 166da72..b521e5a 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 51beed6..88f08b2 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; + } } } -- GitLab