using AsbCloudApp.Data; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { #nullable enable /// <summary> /// Сервис "Дело скважины" /// </summary> public interface IWellFinalDocumentsService { /// <summary> /// Обновление записей дела скважины /// </summary> /// <param name="idWell"></param> /// <param name="dtos"></param> /// <param name="token"></param> /// <returns></returns> Task<int> UpdateRangeAsync(int idWell, IEnumerable<WellFinalDocumentInputDto>? dtos, CancellationToken token); /// <summary> /// Получение всех записей /// </summary> /// <param name = "idWell" ></param > /// <param name = "idUser" ></param > /// <param name="token"></param> /// <returns></returns> Task<WellCaseDto> GetByWellId(int idWell, int idUser, CancellationToken token); /// <summary> /// Получение списка ответственных /// </summary> /// <param name="idWell"></param> /// <param name="token"></param> /// <returns></returns> Task<IEnumerable<UserDto>> GetAvailableUsersAsync(int idWell, CancellationToken token); /// <summary> /// Получение истории файлов /// </summary> /// <param name="idWell"></param> /// <param name="idCategory"></param> /// <param name="token"></param> /// <returns></returns> Task<WellFinalDocumentsHistoryDto> GetFilesHistoryByIdCategory(int idWell, int idCategory, CancellationToken token); /// <summary> /// Сохранение файла /// </summary> /// <param name="idWell"></param> /// <param name="idCategory"></param> /// <param name="idUser"></param> /// <param name="fileStream"></param> /// <param name="fileName"></param> /// <param name="token"></param> /// <returns></returns> Task<int> SaveCategoryFile(int idWell, int idCategory, int idUser, Stream fileStream, string fileName, CancellationToken token); } #nullable disable }