using AsbCloudApp.Data; using AsbCloudApp.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Threading; using System.Threading.Tasks; namespace AsbCloudWebApi.Controllers { [Route("api/driller")] [ApiController] [Authorize] public class DrillerController : ControllerBase { private readonly IDrillerService drillerService; public DrillerController(IDrillerService drillerService) { this.drillerService = drillerService; } /// ///Добавить бурильщика /// /// Объект, описывающий бурильщика /// /// Идентификатор добавленого бурильщика [HttpPost] public async Task> InsertAsync([FromBody] DrillerDto value, CancellationToken token = default) { var result = await drillerService.InsertAsync(value, token).ConfigureAwait(false); return Ok(result); } /// /// Получить весь список бурильщиков /// /// /// Список бурильщиков [HttpGet] public async Task> GetAllAsync(CancellationToken token = default) { var result = await drillerService.GetAllAsync(token); return Ok(result); } /// /// Получить бурильщика по идентификатору /// /// Идентификатор /// /// Объект, описывающий бурильщика [HttpGet("{drillerId}")] public async Task GetAsync(int drillerId, CancellationToken token = default) { var driller = await drillerService.GetAsync(drillerId, token) .ConfigureAwait(false); return Ok(driller); } /// /// Обновить данные о бурильщике /// /// Идентификатор /// Объект с измененными данными /// /// Количество измененых записей [HttpPut("{drillerId}")] public async Task UpdateAsync(int drillerId, DrillerDto dto, CancellationToken token = default) { var result = await drillerService.UpdateAsync(drillerId, dto, token) .ConfigureAwait(false); return Ok(result); } /// /// Удалить бурильщика /// /// Идентификатор бурильщика /// /// Количество удаленных записей [HttpDelete("{drillerId}")] public async Task> DeleteAsync(int drillerId, CancellationToken token = default) { var result = await drillerService.DeleteAsync(drillerId, token) .ConfigureAwait(false); return Ok(result); } } }