using AsbCloudApp.Data; using System; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { public interface IFileService { string RootPath { get; } Task GetFileWebUrlAsync(FileInfoDto dto, string userLogin, CancellationToken token = default); Task SaveAsync(int idWell, int? idUser, int idCategory, string fileFullName, Stream fileStream, CancellationToken token = default); Task> GetInfosAsync(int idWell, int idCategory, string companyName = default, string fileName = default, DateTime begin = default, DateTime end = default, int skip = 0, int take = 32, CancellationToken token = default); Task GetInfoAsync(int fileId, CancellationToken token); Task MarkAsDeletedAsync(int idFile, CancellationToken token = default); Task> GetInfosByCategoryAsync(int idWell, int idCategory, CancellationToken token = default); Task DeleteAsync(int id, CancellationToken token); string GetUrl(FileInfoDto fileInfo); string GetUrl(int idFile); string GetUrl(int idWell, int idCategory, int idFile, string dotExtention); Task CreateFileMarkAsync(int idMark, int idFile, string comment, int fileChangerId, string fileChangerLogin, CancellationToken token = default); Task MarkFileMarkAsDeletedAsync(int idMark, CancellationToken token = default); Task MarkFileInfosAsUsedInProgramAsync(IEnumerable fiDtos, int fileChangerId, CancellationToken token = default); Task MoveAsync(int idWell, int? idUser, int idCategory, string destinationFileName, string srcFileFullName, CancellationToken token = default); } }