DD.WellWorkover.Cloud/AsbCloudApp/Services/ISetpointsService.cs

60 lines
2.3 KiB
C#

using AsbCloudApp.Data.SAUB;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AsbCloudApp.Services
{
/// <summary>
/// Сервис рекомендаций новых уставок для панели оператора САУБ
/// </summary>
public interface ISetpointsService
{
/// <summary>
/// Добавить новый набор рекомендаций
/// </summary>
/// <param name="setpoints"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> InsertAsync(SetpointsRequestDto setpoints, CancellationToken token);
/// <summary>
/// Получить наборы уставок на скважине
/// </summary>
/// <param name="idWell"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<SetpointsRequestDto>> GetAsync(int idWell, CancellationToken token);
/// <summary>
/// Скачать новые рекомендации (скачивает панель оператора)
/// </summary>
/// <param name="uid"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<IEnumerable<SetpointsRequestDto>> GetForPanelAsync(string uid, CancellationToken token);
/// <summary>
/// Попробовать удалить (успешно, если панель еще не забрала уставки)
/// </summary>
/// <param name="id"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> TryDelete(int id, CancellationToken token);
/// <summary>
/// отредактировать состояние набора рекомендаций
/// </summary>
/// <param name="setpointsRequestDto"></param>
/// <param name="token"></param>
/// <returns></returns>
Task<int> UpdateStateAsync(SetpointsRequestDto setpointsRequestDto, CancellationToken token);
/// <summary>
/// Список уставок для рекомендаций
/// </summary>
/// <returns></returns>
IEnumerable<SetpointInfoDto> GetSetpointsNames();
}
}