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(); }