using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using edoka_dms; using DOCGEN.Klassen; using Database; using System.Data; using Model; using System.Diagnostics; using NLog; using System.Security.Policy; namespace DOCGEN.Generator { public class DocGenerator_from_EDOKA { public string connectionstring; public string DokumentID; public string tempdir; private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger(); public void Lic() { // 25. string lickey = "Ngo9BigBOggjHTQxAR8/V1NCaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXdecXRdQ2heUU13XUI=" //string lickey = "Ngo9BigBOggjHTQxAR8/V1NCaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXZeeXRQR2NZUEZ2WkE="; string lickey = "Ngo9BigBOggjHTQxAR8/V1NCaF1cXGJCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXZeeXRQR2ZfVEV2VkA="; Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(lickey); } public DocGenerator_from_EDOKA(string connectionstring) { this.connectionstring = connectionstring; Lic(); } public DocGenerator_from_EDOKA(string connectionstring, string tempdir) { this.connectionstring = connectionstring; this.tempdir = tempdir; } public clsdok Generate_Doc_EDOKA(string dokumentid, ref clsDocData docdata ) { DB db = new DB(connectionstring); DataTable dt = new DataTable(); DataTable dt2 = new DataTable(); string Apptype = ""; dt = db.Get_Vorlage_By_DokumentID(dokumentid); db.dsdaten.Tables.Clear(); dt2 = db.Get_ApplicationType_from_Vorlage(Convert.ToInt32(dt.Rows[0]["nr"].ToString())); Apptype = dt2.Rows[0][0].ToString(); switch (Apptype.ToUpper()) { case "DOCX": case "DOCM": case "DOC": case "DOT": case "WORD": case "DOTM": SynFWord sfword = new SynFWord(); generate_docdata(dokumentid, ref docdata); clsdok dok = new clsdok("", "", ""); dok.dokument= sfword.Generate_Word(dt.Rows[0][0].ToString(), docdata); dok.doktype = "D"; dok.extension = dt2.Rows[0][1].ToString(); //if (dok.extension.ToUpper()=="DOTM") { dok.extension = "docm"; } return dok; case "XLSM": case "XLSX": case "XLST": case "XLS": case "XLT": clsdok dokexcel = new clsdok("", "", ""); return dokexcel; //break; case "PDF": case "ACROBAT": case "FORMULAR": case "DOKUMENT": clsdok dokpdf = new clsdok("", "", ""); dokpdf.dokument= dt.Rows[0][0].ToString(); return dokpdf; //break ; default: Logger.Info("DocGenerator_from_EDOKA: FileType unknown"+ Apptype); clsdok dokempty = new clsdok("", "", ""); return dokempty; //break; } //db.get_vorlage_to_file(db.dsdaten.Tables[0].Rows[0][1].ToString(),tempdir,dokumentid ); } public void generate_docdata(string dokumentid, ref clsDocData docdata) { List docValues = new List(); DB db = new DB(connectionstring); db.Get_Tabledata("exec sp_dokumentwerte '" + dokumentid + "',0", false, true); foreach (DataRow r in db.dsdaten.Tables[0].Rows) { clsDocValue dv = new clsDocValue(); dv.TMBeginn = r["beginntextmarke"].ToString(); dv.TMEnd = r["endetextmarke"].ToString(); dv.FieldName = r["feldname"].ToString(); dv.Value = r["xvalue"].ToString(); docValues.Add(dv); } clsDocValue dv1 = new clsDocValue(); docdata.DocValues = docValues; db.Get_Tabledata("Select * from view_ER_Makros where dokumentid='" + dokumentid + "' order by reihenfolge",false,true); ListdocMacros = new List(); foreach (DataRow r in db.dsdaten.Tables[0].Rows) { clsDocMacro dm = new clsDocMacro(); dm.Name = r["makro"].ToString().Trim(); dm.BookMark = r["BookMark"].ToString().Trim(); docMacros.Add(dm); } docdata.DocMacros = docMacros; } } }