139 lines
4.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|