namespace Lux.Report.Data.Services { /// /// Interfaccia servizio gestione IO File-based /// public interface IFileService { #region Public Methods /// /// Esegue conteggio file trovati in folder richiesta dato pattern /// /// Cartella di riferimento /// Pattern ricerca /// Nasconde i "dotfile" (file nascosti che iniziano per .) /// Num file trovati int CountFile(string folderPath, string pattern, bool hideDot); /// /// Duplica un file dato path origine + destinazione (verificando esista origine) /// /// Path di origine /// Path di destinazione /// bool FileCopy(string origPath, string destPath); /// /// Duplica un file dato path origine + destinazione (verificando esista origine) /// /// Path del file da eliminare /// bool FileDelete(string origPath); /// /// Verifica esistenza file richiesto /// /// /// bool FileExists(string filePath); /// /// Verifica esistenza Folder richiesto /// /// /// bool FolderExists(string folderPath); /// /// Elenco file trovati in folder richiesta dato pattern /// /// Cartella di riferimento /// Pattern ricerca /// Nasconde i "dotfile" (file nascosti che iniziano per .) /// Elenco file trovati List ListFile(string folderPath, string pattern, bool hideDot); /// /// Restituisce contenuto file come byte array /// /// /// byte[] ReadAllBytes(string filePath); #endregion Public Methods ///// ///// Salva contenuto file (sincrono) ///// ///// Cartella del file ///// Nome secure del file ///// Contenuto file ///// True se salvato con successo //bool SaveFileContent(string folderPath, string pattern, string content); ///// ///// Salva contenuto file asincrono ///// ///// Cartella del file ///// Nome secure del file ///// Contenuto file ///// True se salvato con successo //Task SaveFileContentAsync(string folderPath, string pattern, string content); ///// ///// Salva stream file generico ///// ///// Cartella del file ///// Nome secure del file ///// Stream contenitore dati ///// True se salvato con successo //Task SaveFileStreamAsync(string folderPath, string pattern, Stream contentStream); } }