93 lines
3.7 KiB
C#
93 lines
3.7 KiB
C#
namespace Lux.Report.Data.Services
|
|
{
|
|
/// <summary>
|
|
/// Interfaccia servizio gestione IO File-based
|
|
/// </summary>
|
|
public interface IFileService
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Esegue conteggio 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>Num file trovati</returns>
|
|
int CountFile(string folderPath, string pattern, bool hideDot);
|
|
|
|
/// <summary>
|
|
/// Duplica un file dato path origine + destinazione (verificando esista origine)
|
|
/// </summary>
|
|
/// <param name="origPath">Path di origine</param>
|
|
/// <param name="destPath">Path di destinazione</param>
|
|
/// <returns></returns>
|
|
bool FileCopy(string origPath, string destPath);
|
|
|
|
/// <summary>
|
|
/// Duplica un file dato path origine + destinazione (verificando esista origine)
|
|
/// </summary>
|
|
/// <param name="origPath">Path del file da eliminare</param>
|
|
/// <returns></returns>
|
|
bool FileDelete(string origPath);
|
|
|
|
/// <summary>
|
|
/// Verifica esistenza file richiesto
|
|
/// </summary>
|
|
/// <param name="filePath"></param>
|
|
/// <returns></returns>
|
|
bool FileExists(string filePath);
|
|
|
|
/// <summary>
|
|
/// Verifica esistenza Folder richiesto
|
|
/// </summary>
|
|
/// <param name="folderPath"></param>
|
|
/// <returns></returns>
|
|
bool FolderExists(string folderPath);
|
|
|
|
/// <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 contenuto file come byte array
|
|
/// </summary>
|
|
/// <param name="filePath"></param>
|
|
/// <returns></returns>
|
|
byte[] ReadAllBytes(string filePath);
|
|
|
|
#endregion Public Methods
|
|
|
|
///// <summary>
|
|
///// Salva contenuto file (sincrono)
|
|
///// </summary>
|
|
///// <param name="folderPath">Cartella del file</param>
|
|
///// <param name="pattern">Nome secure del file</param>
|
|
///// <param name="content">Contenuto file</param>
|
|
///// <returns>True se salvato con successo</returns>
|
|
//bool SaveFileContent(string folderPath, string pattern, string content);
|
|
|
|
///// <summary>
|
|
///// Salva contenuto file asincrono
|
|
///// </summary>
|
|
///// <param name="folderPath">Cartella del file</param>
|
|
///// <param name="pattern">Nome secure del file</param>
|
|
///// <param name="content">Contenuto file</param>
|
|
///// <returns>True se salvato con successo</returns>
|
|
//Task<bool> SaveFileContentAsync(string folderPath, string pattern, string content);
|
|
|
|
///// <summary>
|
|
///// Salva stream file generico
|
|
///// </summary>
|
|
///// <param name="folderPath">Cartella del file</param>
|
|
///// <param name="pattern">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 pattern, Stream contentStream);
|
|
}
|
|
} |