using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using AsbCloudApp.Data; using AsbCloudApp.Services; namespace AsbCloudWebApi.Controllers { /// /// Контроллер для режимов бурения /// [Route("/drillParams")] [ApiController] public class DrillParamsController : ControllerBase { private readonly IDrillParamsService drillParamsService; public DrillParamsController(IDrillParamsService drillParamsService) { this.drillParamsService = drillParamsService; } /// /// Возвращает автоматически расчитанные значения для режимов бурения /// /// id скважины /// Стартовая глубина /// Конечная глубина /// Токен отмены задачи /// Значения по умолчанию для режимов бурения [HttpGet("idWell/autoParams")] [ProducesResponseType(typeof(DrillParamsDto), (int) System.Net.HttpStatusCode.OK)] public async Task GetDefaultDrillParamsAsync(int idWell, double startDepth, double endDepth, CancellationToken token = default) { var idCompany = User.GetCompanyId(); if (idCompany is null) return Forbid(); var dto = await drillParamsService.GetDefaultDrillParamsAsync(idWell, startDepth, endDepth, token); return Ok(dto); } // /// // /// Возвращает значения для режимов бурения gj ctrwbzv yf crdf;byt // /// // /// id скважины // /// Токен отмены задачи // /// Список параметров для режимов бурения на скважине // [HttpGet("idWell")] // [ProducesResponseType(typeof(IEnumerable), (int) System.Net.HttpStatusCode.OK)] // public async Task GetDrillParamsAsync(int idWell, // CancellationToken token = default) // { // var idCompany = User.GetCompanyId(); // // if (idCompany is null) // return Forbid(); // // var dto = await drillParamsService.GetDrillParamsAsync(idWell, token); // // return Ok(dto); // } /// /// Сохраняет значения для режимов бурения /// /// id скважины /// Параметры режимов бурений для секции /// Токен отмены задачи /// [HttpPost("idWell")] [ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)] public async Task SaveDrillParamsAsync(int idWell, DrillParamsDto drillParamsDto, CancellationToken token = default) { var idCompany = User.GetCompanyId(); if (idCompany is null) return Forbid(); var result = await drillParamsService.SaveDrillParamsAsync(idWell, drillParamsDto, token); return Ok(result); } // /// // /// Изменяет значения для режимов бурения // /// // /// id скважины // /// Параметры режимов бурений для секции // /// Токен отмены задачи // /// // [HttpPut("idWell")] // [ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)] // public async Task EditDrillParamsAsync(int idWell, // DrillParamsDto drillParamsDto, CancellationToken token = default) // { // var idCompany = User.GetCompanyId(); // // if (idCompany is null) // return Forbid(); // // var result = await drillParamsService.EditDrillParamsAsync(idWell, // drillParamsDto, token); // // return Ok(result); // } // /// // /// Удаляет значения для режимов бурения // /// // /// id скважины // /// Параметры режимов бурений для секции // /// Токен отмены задачи // /// // [HttpDelete("idWell")] // [ProducesResponseType(typeof(int), (int) System.Net.HttpStatusCode.OK)] // public async Task DeleteDrillParamsAsync(int idWell, // DrillParamsDto drillParamsDto, CancellationToken token = default) // { // var idCompany = User.GetCompanyId(); // // if (idCompany is null) // return Forbid(); // // var result = await drillParamsService.DeleteDrillParamsAsync(idWell, // drillParamsDto, token); // // return Ok(result); // } } }