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; } } }