private void GenerateZipFile() { var zip = new ZipFileHandler(); zip.ZipFolder(ExcelSettings.Default.SalesReportsFoldersLocation, ExcelSettings.Default.ZipFileResultLocation); }
public List <string> DeployArtifacts(FileTransferPacket packet) { if (packet.Content == null) { return(new List <string>()); } //store file into a temp folder string directoryName = Path.Combine(Information.TempDirectoryTempData, DateTime.Now.ToString("yyyyMMddHHmmss") + "_d"); Directory.CreateDirectory(directoryName); string fileName = Path.Combine(directoryName, DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip"); SaveFileStream(fileName, new MemoryStream(packet.Content)); List <string> files = ZipFileHandler.UnZip(fileName, directoryName); File.Delete(fileName); //pass over to batch file string batchFile = ExtractBatchFile(directoryName); Trace.TraceInformation("The system is going to update. Waiting for stop signal..."); Trace.Flush(); Eyedia.Core.Windows.Utilities.WindowsUtility.ExecuteBatchFile(batchFile, true); //List<string> output = new List<string>(); //List<string> error = new List<string>(); //Eyedia.Core.Windows.Utilities.WindowsUtility.ExecuteDosCommand(batchFile, true, ref output, ref error); //Trace.TraceInformation("srecmd: Batch file '{0}' was exeucted, output was:{1},{2}Error:{3}{4}", // batchFile, output.ToLine(), Environment.NewLine, error.ToLine(), Environment.NewLine); return(files); }
public void ReadAllPurchases(string zipFileLocation, Action <int, int, decimal, string, DateTime> action) { const string TempFolderName = @"UnzippedSalesReports"; var excelXlsHander = new ExcelXlsHandler(); var zip = new ZipFileHandler(); zip.UnzipFolder(zipFileLocation, TempFolderName); foreach (var subfolder in Directory.GetDirectories(TempFolderName)) { var dateAsString = subfolder.Substring(subfolder.LastIndexOf('\\') + 1); var date = DateTime.ParseExact(dateAsString, "dd-MMM-yyyy", CultureInfo.InvariantCulture); foreach (var file in Directory.GetFiles(subfolder)) { if (file.EndsWith(".xls")) { var slashIndex = file.LastIndexOf('\\') + 1; var locationName = file.Substring(slashIndex, file.IndexOf("-Purchases-Report", slashIndex) - slashIndex); excelXlsHander.ReadExcelSheet(file, row => { if (row[0] != DBNull.Value) { action((int)(double)row[0], (int)(double)row[1], (decimal)(double)row[2], locationName, date); } }); } } } Directory.Delete(TempFolderName, true); }
private void GenerateZipFile() { var zip = new ZipFileHandler(); zip.ZipFolder( ExcelSettings.Default.SalesReportsDestinationFolder, ExcelSettings.Default.OutputZipFileLocation); }
public string PickupDlls(string fromLocation = null) { string toZipFile = Path.Combine(Information.TempDirectoryTempData, "idpe.zip"); if (File.Exists(toZipFile)) { File.Delete(toZipFile); } if (fromLocation == null) { fromLocation = AppDomain.CurrentDomain.BaseDirectory; } //create temp repository string tempRepository = Path.Combine(Information.TempDirectoryTempData, "sredlls"); if (Directory.Exists(tempRepository)) { Directory.Delete(tempRepository, true); } Directory.CreateDirectory(tempRepository); //copy neccessary files into temp repository string[] files = Directory.GetFiles(fromLocation); List <string> artifacts = DeploymentArtifacts; foreach (string file in files) { if (artifacts.Contains(Path.GetFileName(file))) { File.Copy(file, Path.Combine(tempRepository, Path.GetFileName(file))); } } //couple of artifacts could be with relative path, lets try foreach (string file in artifacts) { if (File.Exists(Path.Combine(tempRepository, file))) { if (!File.Exists(Path.Combine(tempRepository, Path.GetFileName(file)))) { File.Copy(file, Path.Combine(tempRepository, Path.GetFileName(file))); } } } return(EnsureFiles(artifacts, tempRepository) ? ZipFileHandler.Zip(tempRepository, toZipFile): string.Empty); }
public void ReadAllPurchases(string zipFileLocation, Action<int, int, decimal, string, DateTime> action) { const string TempFolderName = @"UnzippedSalesReports"; var excelXlsHander = new ExcelXlsHandler(); var zip = new ZipFileHandler(); zip.UnzipFolder(zipFileLocation, TempFolderName); foreach (var subfolder in Directory.GetDirectories(TempFolderName)) { var dateAsString = subfolder.Substring(subfolder.LastIndexOf('\\') + 1); var date = DateTime.ParseExact(dateAsString, "dd-MMM-yyyy", CultureInfo.InvariantCulture); foreach (var file in Directory.GetFiles(subfolder)) { if (file.EndsWith(".xls")) { var slashIndex = file.LastIndexOf('\\') + 1; var locationName = file.Substring( slashIndex, file.IndexOf("-Purchases-Report", slashIndex, StringComparison.Ordinal) - slashIndex); excelXlsHander.ReadExcelSheet( file, row => { if (row[0] != DBNull.Value) { action( (int)(double)row[0], (int)(double)row[1], (decimal)(double)row[2], locationName, date); } }); } } } Directory.Delete(TempFolderName, true); }
internal string Handle() { ExtensionMethods.TraceInformation("Handling a zip file '{0}', processing by '{1}' of data source '{2}'.", ZipFileName, ProcessingBy, DataSourceId); string unzipLocation = Path.Combine(EyediaCoreConfigurationSection.CurrentConfig.TempDirectory, Constants.IdpeBaseFolderName); unzipLocation = Path.Combine(unzipLocation, "TempZip"); unzipLocation = Path.Combine(unzipLocation, ZipUniqueId); UnZippedFileNames = ZipFileHandler.UnZip(ZipFileName, unzipLocation).ToArray(); Array.Sort(UnZippedFileNames, (f1, f2) => Path.GetExtension(f1).CompareTo(Path.GetExtension(f2))); //todo if (UnZippedFileNames.Length == 0) { //2nd attempt. Reason - Sometimes unzip returns 0 files. Thread.Sleep(500); UnZippedFileNames = ZipFileHandler.UnZip(ZipFileName, unzipLocation).ToArray(); } string validationErrorMessage = string.Format("The zip file '{0}' processing has beeen aborted as validation process failed", ZipFileName); if (DataSourceSpecificZipFileWatcher != null) { DataSourceSpecificZipFileWatcher.UnZippedFileNames = UnZippedFileNames; DataSourceSpecificZipFileWatcher.ZipUniqueId = ZipUniqueId; DataSourceSpecificZipFileWatcher.ZipFileName = ZipFileName; if (!DataSourceSpecificZipFileWatcher.Prepare(ref validationErrorMessage)) { throw new BusinessException(validationErrorMessage); } } else { if (!Prepare(ref validationErrorMessage)) { throw new BusinessException(validationErrorMessage); } } UnZippedFileNames = AddUniqueIdToFiles(UnZippedFileNames, ZipUniqueId); SetZipFileInfo(this.ZipUniqueId, UnZippedFileNames.Length); ExtensionMethods.TraceInformation("There are {0} files.", UnZippedFileNames.Length); foreach (string unZippedFileName in UnZippedFileNames) { string onlyFileName = Path.GetFileName(unZippedFileName); if (DataSourceSpecificZipFileWatcher != null) { ExtensionMethods.TraceInformation("'{0}' will be processed with specific handler '{1}'", onlyFileName, DataSourceSpecificZipFileWatcher.ToString()); DataSourceSpecificZipFileWatcher.Handle(unZippedFileName, onlyFileName, Path.GetExtension(unZippedFileName), FileStatus.Process); } else { ExtensionMethods.TraceInformation("'{0}' will be processed with default handler", onlyFileName); string fileExt = Path.GetExtension(unZippedFileName).ToLower(); //if (fileExt == ".txt") // Debugger.Break(); FileStatus fileProposedStatus = FileStatus.Process; if (IsInIgnoreList(fileExt)) { fileProposedStatus = FileStatus.Ignore; } if (IsInIgnoreListButCopy(fileExt)) { fileProposedStatus = FileStatus.IgnoreMoveToOutput; } Handle(unZippedFileName, Path.GetFileName(unZippedFileName), fileExt, fileProposedStatus); } ExtensionMethods.TraceInformation("'{0}' handled.", onlyFileName); } ExtensionMethods.TraceInformation("All files handled."); Trace.Flush(); return(ZipUniqueId); }