internal static void Carica() { Opzioni_ = Opzioni.Carica() as DatiComuni.OpzioniProgramma; OpzioniDB_ = OpzioniDB.Carica() as DatiComuni.Database; }
private string StampaRimpiazzaDocx_p2(string Entita, object chiave, ConstStampe.eStampa documento, DB.DataWrapper.Tabelle.Base.BaseDBObject vista) { var resu = ""; var Database = new DatiComuni.Database(); Database = Database.Carica(); var enty = @"\" + Entita + @"\" + chiave + @"\"; var dest = Path.GetTempPath() + enty + @"SCHEDA PRIMO CONTATTO\"; var zip = ConstStampe.PercorsoStampa(documento); var destFO = Database.DocumentaleFolder + enty; var docx = destFO + DateTime.Now.ToString("yyyyMMdd_hhmmss") + "_SCHEDA PRIMO CONTATTO.docx"; if (!Directory.Exists(destFO)) { Directory.CreateDirectory(destFO); } File.Copy(zip, docx); var z = new FastZip(); z.ExtractZip(zip, dest, "document.xml"); var f = Directory.GetFiles(dest, "document.xml", SearchOption.AllDirectories); if (f != null && f.Length > 0) { using (var zippo = new ZipFile(docx)) { zippo.BeginUpdate(); foreach (var d in f) { object v = null; string te = ""; var text = File.ReadAllText(d); var properties = vista.GetType().GetProperties(); foreach (var p in properties) { try { v = p.GetValue(vista, null); } catch { v = null; } if (v == null) { v = ""; } if (v is DateTime) { te = GB.cGB.DateTimeToDate_String(v); } else if (v is bool) { te = GB.cGB.BoolToSiNo(v); } else { te = v.ToString(); } text = text.Replace("XXX" + p.Name + "XXX", te); } File.WriteAllText(d, text); zippo.Add(d, @"word\document.xml"); } zippo.CommitUpdate(); zippo.Close(); resu = docx; GB.cGB.StartProgram(docx); } } return(resu); }