2025-04-15 12:10:19 +02:00

139 lines
4.5 KiB
C#

using ICSharpCode.SharpZipLib.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using DataAccessLayer;
using System.Data;
using System.Data.Common;
namespace GestoreTrimestrale.Test
{
public static class Utils
{
public static void Decompress(FileInfo fi, string workDir)
{
using (FileStream inFile = fi.OpenRead())
{
using (ZipInputStream s = new ZipInputStream(inFile))
{
ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null)
{
string directoryName = workDir;
string fileName = Path.GetFileName(theEntry.Name);
// create directory
if (directoryName.Length > 0)
{
Directory.CreateDirectory(directoryName);
}
if (fileName != String.Empty)
{
using (FileStream streamWriter = File.Create(directoryName + theEntry.Name))
{
int size = 2048;
byte[] data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
}
}
}
}
}
}
public static void DeleteFiles(string folder)
{
DirectoryInfo di = new DirectoryInfo(folder);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
f.Delete();
}
public static int CountFiles(string folder, string extension)
{
DirectoryInfo di = new DirectoryInfo(folder);
FileInfo[] files = di.GetFiles("*." + extension);
return files.Length;
}
public static int CountSubFolders(string folder)
{
DirectoryInfo di = new DirectoryInfo(folder);
DirectoryInfo[] sdis = di.GetDirectories();
return sdis.Length;
}
public static SmartZip.Logic.ZipConfiguration CreateZipConfiguration()
{
SmartZip.Logic.ZipConfiguration conf = new SmartZip.Logic.ZipConfiguration();
return conf;
}
public static int LinesInFile(string folder, string file)
{
int ctr = 0;
FileInfo fi = new FileInfo(folder + @"\" + file);
TextReader tx = fi.OpenText();
string line;
while ((line = tx.ReadLine()) != null)
{
ctr++;
}
return ctr;
}
public static bool ProduceTestSamples(string[,] ids)
{
bool res = false;
DataAccessDE dataAccess = null;
try
{
DbParameter[] p;
using (dataAccess = new DataAccessDE(DBProvider.SqlServerStampeC6))
{
string param = string.Empty;
for (int i = 0; i < ids.GetLength(0); i++)
{
p = new DbParameter[2];
p[0] = new SqlParameter();
p[0].Value = ids[i,0];
p[0].ParameterName = "CODE_FISCALE";
p[1] = new SqlParameter();
p[1].Value = ids[i, 1];
p[1].ParameterName = "RETE";
dataAccess.ExecuteNonQuery(CommandType.StoredProcedure, "test.[GESTIONE_PDF_PREPARE_TEST_SAMPLE]", p);
}
}
res = true;
}
catch (Exception ex)
{
string z = ex.Message;
res = false;
}
finally
{
if (dataAccess != null) dataAccess.Dispose();
}
return res;
}
}
}