示例#1
0
文件: MyGB.cs 项目: mikymaione/GAM
 internal static void Carica()
 {
     Opzioni_   = Opzioni.Carica() as DatiComuni.OpzioniProgramma;
     OpzioniDB_ = OpzioniDB.Carica() as DatiComuni.Database;
 }
示例#2
0
        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);
        }