using AsbCloudApp.Data; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { /// <summary> /// Сервис хранения результатов лабораторных анализов и измерений /// </summary> public interface IMeasureService { /// <summary> /// Категории измерений /// </summary> /// <param name="token"></param> /// <returns></returns> Task<Dictionary<int, string>> GetCategoriesAsync(CancellationToken token); /// <summary> /// Последние измерения по категории /// </summary> /// <param name="idWell"></param> /// <param name="idCategory"></param> /// <param name="token"></param> /// <returns></returns> Task<MeasureDto?> GetLastOrDefaultAsync(int idWell, int idCategory, CancellationToken token); /// <summary> /// История измерений по категории /// </summary> /// <param name="idWell"></param> /// <param name="idCategory"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<MeasureDto>> GetHisoryAsync(int idWell, int? idCategory, CancellationToken token); /// <summary> /// Добавить измерение /// </summary> /// <param name="idWell"></param> /// <param name="data"></param> /// <param name="token"></param> /// <returns></returns> Task<int> InsertAsync(int idWell, MeasureDto data, CancellationToken token); /// <summary> /// Редактировать /// </summary> /// <param name="idWell"></param> /// <param name="data"></param> /// <param name="token"></param> /// <returns></returns> Task<int> UpdateAsync(int idWell, MeasureDto data, CancellationToken token); /// <summary> /// Пометить удаленным /// </summary> /// <param name="idWell"></param> /// <param name="idData"></param> /// <param name="token"></param> /// <returns></returns> Task<int> MarkAsDeleteAsync(int idWell, int idData, CancellationToken token); /// <summary> /// Удалить /// </summary> /// <param name="idWell"></param> /// <param name="idData"></param> /// <param name="token"></param> /// <returns></returns> Task<int> DeleteAsync(int idWell, int idData, CancellationToken token); } }