using Microsoft.AspNetCore.Http;
using MTWorkHR.Application.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MTWorkHR.Application.Services.Interfaces
{
    public interface IFileService
    {
        Task<AttachmentResponseDto> UploadFile(IFormFile file);
        Task<List<AttachmentResponseDto>> UploadFiles(List<IFormFile> files);
        Task<bool> CopyFileToActualFolder(List<AttachmentDto> attachments);
        bool CopyFileToActualFolder(string FileName);
        bool DeleteFileFromTempFolder(string FileName);
        void CopyFileToCloud(ref List<AttachmentDto> attachments);
        string GetTempAttachmentPath();
        string GetActualAttachmentPath();
        Task<Tuple<MemoryStream, string, string>> GetFileDownloadInfo(string fileUrl);
        Task<BlobObject> Download(string url);
    }
}