using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Responses; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using PARR.Core.Repositories.Interfaces.Unit; using PARR.Domain.Common.Roles; namespace PARR.API.Controllers.V1 { /// /// Региональные ЭК ПТК для групповых работ /// [Authorize(Roles = ParrRoles.Administrator.Role)] public class RegionalEkPtkGroupController : BaseApiController { private readonly IMapper mapper; private readonly IUnitRegionalEkPtkGroupRepository unitRegionalEkPtkGroupService; public RegionalEkPtkGroupController( IMapper mapper, IUnitRegionalEkPtkGroupRepository unitRegionalEkPtkGroupService ) { this.mapper = mapper; this.unitRegionalEkPtkGroupService = unitRegionalEkPtkGroupService; } /// /// Региональные ЭК ПТК для групповых работ /// /// [HttpGet(ApiRoutes.RegionalEkPtkGroup.GetAll)] public async Task GetAll() { var query = unitRegionalEkPtkGroupService.Get() .Include(t => t.FieldValue) .Select(t => t.FieldValue) .OrderBy(t => t.Value); var objs = await query.ToListAsync(); if (!objs.Any()) return NoContent(); var response = mapper.Map>(objs); return Ok(new Response>(response, true)); } } }