Files
lux/EgwCoreLib.Lux.Data/Services/General/IFileService.cs
T

64 lines
2.6 KiB
C#

namespace EgwCoreLib.Lux.Data.Services.General
{
/// <summary>
/// Interfaccia servizio gestione IO File-based
/// </summary>
public interface IFileService
{
#region Public Methods
/// <summary>
/// Eliminazione file
/// </summary>
/// <param name="folderPath">Cartella del file</param>
/// <param name="secureName">Nome secure del file</param>
/// <returns>True se eliminato con successo</returns>
bool DeleteOldFile(string folderPath, string secureName);
/// <summary>
/// Elenco file trovati in folder richiesta dato pattern
/// </summary>
/// <param name="folderPath">Cartella di riferimento</param>
/// <param name="pattern">Pattern ricerca</param>
/// <param name="hideDot">Nasconde i "dotfile" (file nascosti che iniziano per .)</param>
/// <returns>Elenco file trovati</returns>
List<string> ListFile(string folderPath, string pattern, bool hideDot);
/// <summary>
/// Restituisce il contenuto del file salvato
/// </summary>
/// <param name="folderPath">Cartella del file</param>
/// <param name="secureName">Nome secure del file</param>
/// <returns>Contenuto del file come stringa</returns>
string LoadFileContent(string folderPath, string secureName);
/// <summary>
/// Salva contenuto file (sincrono)
/// </summary>
/// <param name="folderPath">Cartella del file</param>
/// <param name="secureName">Nome secure del file</param>
/// <param name="content">Contenuto file</param>
/// <returns>True se salvato con successo</returns>
bool SaveFileContent(string folderPath, string secureName, string content);
/// <summary>
/// Salva contenuto file asincrono
/// </summary>
/// <param name="folderPath">Cartella del file</param>
/// <param name="secureName">Nome secure del file</param>
/// <param name="content">Contenuto file</param>
/// <returns>True se salvato con successo</returns>
Task<bool> SaveFileContentAsync(string folderPath, string secureName, string content);
/// <summary>
/// Salva stream file generico
/// </summary>
/// <param name="folderPath">Cartella del file</param>
/// <param name="secureName">Nome secure del file</param>
/// <param name="contentStream">Stream contenitore dati</param>
/// <returns>True se salvato con successo</returns>
Task<bool> SaveFileStreamAsync(string folderPath, string secureName, Stream contentStream);
#endregion Public Methods
}
}