using AsbCloudApp.Data; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Repositories { /// /// Репозиторий хранения фалов /// public interface IFileStorageRepository { /// /// Получение длинны фала и проверка его наличия, если отсутствует падает исключение /// /// /// long GetFileLength(string srcFilePath); /// /// Перемещение файла /// /// /// void MoveFile(string srcFilePath, string filePath); /// /// Копирование файла /// /// /// /// /// Task SaveFileAsync(string filePathRec, Stream fileStreamSrc, CancellationToken token); /// /// Удаление файла /// /// void DeleteFile(IEnumerable filesName); /// /// Удаление всех файлов с диска о которых нет информации в базе /// /// /// int DeleteFilesNotInList(int idWell, IEnumerable idsFiles); /// /// Вывод списка всех файлов из базы, для которых нет файла на диске /// /// /// IEnumerable GetListFilesNotDisc(IEnumerable files); /// /// Получение пути к файлу /// /// /// /// /// /// string MakeFilePath(int idWell, int idCategory, string fileFullName, int fileId); /// /// Получить путь для скачивания /// /// /// /// /// /// string GetUrl(int idWell, int idCategory, int idFile, string dotExtention); } }