private void ArchivoGuardar(string NomArchLatis) { //Crear carpteta temporal string lxNomCsl = Path.GetFileNameWithoutExtension(NomArchLatis); string lxBaseDir = (Path.GetDirectoryName(NomArchLatis)); string lxDir = Path.Combine(lxBaseDir, lxNomCsl + "_Qry"); if (!Directory.Exists(lxDir)) { Directory.CreateDirectory(lxDir); } //Guardar cfg.ini string lxArchCfgIni = Path.Combine(lxDir, CFG_INI); txtCfg.Save(lxArchCfgIni); //Guardar script.sql string lxScriptSQL = IniRead.ValorObtener(lxArchCfgIni, "CFG", "Script"); if (string.IsNullOrEmpty(lxScriptSQL)) { lxScriptSQL = Path.Combine(lxDir, lxNomCsl + ".sql"); } else { lxScriptSQL = Path.Combine(lxDir, lxScriptSQL); } txtSQL.Save(lxScriptSQL); //Comprimir carpeta temporal en formato .zip con extensión .latis using (var zip = File.OpenWrite(NomArchLatis)) { using (var zipWriter = WriterFactory.Open(zip, ArchiveType.Zip, CompressionType.Deflate)) { string[] lxFileList = Directory.GetFiles(lxDir); foreach (var filePath in lxFileList) { zipWriter.Write(Path.GetFileName(filePath), filePath); } } } StatusBarSet($"Archivo '{NomArchLatis}' Guardado."); try { //Eliminar directorio temporal Directory.Delete(lxDir, true); } catch (Exception ex) { _ = MessageBox.Show(ex.Message, "Guardar", MessageBoxButton.OK, MessageBoxImage.Error); } }