using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Requests.Queries; using PARR.API.Contracts.V1.Responses; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using PARR.Constants; using PARR.DAL.DomainModels; using PARR.DAL.Services.Interfaces; namespace PARR.API.Controllers.V1 { /// /// Зоны ответственности /// [Authorize(Roles = ParrRoles.Administrator.Role)] public class ResponseAreaController : BaseApiController { private readonly IMapper mapper; private readonly IResponseAreaService responseAreaService; public ResponseAreaController( IMapper mapper, IResponseAreaService responseAreaService ) { this.mapper = mapper; this.responseAreaService = responseAreaService; } /// /// Список зон ответственности /// /// [HttpGet(ApiRoutes.ResponseArea.GetAll)] public async Task GetAll() { var query = responseAreaService.Get().OrderBy(t => t.Name); var responseAreas = await query.ToListAsync(); if (!responseAreas.Any()) return NoContent(); var response = mapper.Map>(responseAreas); return Ok(new Response>(response, true)); } } }