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);
}
}