namespace EgwCoreLib.Lux.Data.Services.General
{
///
/// Interfaccia servizio gestione IO File-based
///
public interface IFileService
{
#region Public Methods
///
/// Eliminazione file
///
/// Cartella del file
/// Nome secure del file
/// True se eliminato con successo
bool DeleteOldFile(string folderPath, string secureName);
///
/// 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 il contenuto del file salvato
///
/// Cartella del file
/// Nome secure del file
/// Contenuto del file come stringa
string LoadFileContent(string folderPath, string secureName);
///
/// Salva contenuto file (sincrono)
///
/// Cartella del file
/// Nome secure del file
/// Contenuto file
/// True se salvato con successo
bool SaveFileContent(string folderPath, string secureName, 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 secureName, 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 secureName, Stream contentStream);
#endregion Public Methods
}
}