DD.WellWorkover.Cloud/AsbCloudWebApi/Controllers/DrillerController.cs
2022-05-25 20:19:08 +05:00

92 lines
3.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
/// <summary>
///Добавить бурильщика
/// </summary>
/// <param name="value">Объект, описывающий бурильщика</param>
/// <param name="token"></param>
/// <returns>Идентификатор добавленого бурильщика</returns>
[HttpPost]
public async Task<ActionResult<int>> InsertAsync([FromBody] DrillerDto value, CancellationToken token = default)
{
var result = await drillerService.InsertAsync(value, token).ConfigureAwait(false);
return Ok(result);
}
/// <summary>
/// Получить весь список бурильщиков
/// </summary>
/// <param name="token"></param>
/// <returns>Список бурильщиков</returns>
[HttpGet]
public async Task<ActionResult<int>> GetAllAsync(CancellationToken token = default)
{
var result = await drillerService.GetAllAsync(token);
return Ok(result);
}
/// <summary>
/// Получить бурильщика по идентификатору
/// </summary>
/// <param name="drillerId">Идентификатор</param>
/// <param name="token"></param>
/// <returns>Объект, описывающий бурильщика</returns>
[HttpGet("{drillerId}")]
public async Task<IActionResult> GetAsync(int drillerId, CancellationToken token = default)
{
var driller = await drillerService.GetAsync(drillerId, token)
.ConfigureAwait(false);
return Ok(driller);
}
/// <summary>
/// Обновить данные о бурильщике
/// </summary>
/// <param name="drillerId">Идентификатор</param>
/// <param name="dto">Объект с измененными данными</param>
/// <param name="token"></param>
/// <returns>Количество измененых записей</returns>
[HttpPut("{drillerId}")]
public async Task<IActionResult> UpdateAsync(int drillerId, DrillerDto dto,
CancellationToken token = default)
{
var result = await drillerService.UpdateAsync(drillerId, dto, token)
.ConfigureAwait(false);
return Ok(result);
}
/// <summary>
/// Удалить бурильщика
/// </summary>
/// <param name="drillerId">Идентификатор бурильщика</param>
/// <param name="token"></param>
/// <returns>Количество удаленных записей</returns>
[HttpDelete("{drillerId}")]
public async Task<ActionResult<int>> DeleteAsync(int drillerId, CancellationToken token = default)
{
var result = await drillerService.DeleteAsync(drillerId, token)
.ConfigureAwait(false);
return Ok(result);
}
}
}