Initial Comit
This commit is contained in:
95
DOCGEN/Klassen/DocGenerator_from_EDOKA.cs
Normal file
95
DOCGEN/Klassen/DocGenerator_from_EDOKA.cs
Normal file
@@ -0,0 +1,95 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using edoka_dms;
|
||||
using DOCGEN.Klassen;
|
||||
using EDOKA_Database;
|
||||
using System.Data;
|
||||
using Model;
|
||||
using System.Diagnostics;
|
||||
using NLog;
|
||||
|
||||
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 DocGenerator_from_EDOKA(string connectionstring)
|
||||
{
|
||||
this.connectionstring = connectionstring;
|
||||
}
|
||||
|
||||
public DocGenerator_from_EDOKA(string connectionstring, string tempdir)
|
||||
{
|
||||
this.connectionstring = connectionstring;
|
||||
this.tempdir = tempdir;
|
||||
}
|
||||
|
||||
public string Generate_Doc_EDOKA(string dokumentid)
|
||||
{
|
||||
EDOKA_DB db = new EDOKA_DB(connectionstring);
|
||||
DataTable dt = new DataTable();
|
||||
string Apptype = "";
|
||||
dt = db.Get_Vorlage_By_DokumentID(DokumentID);
|
||||
db.dsdaten.Tables.Clear();
|
||||
Apptype = db.Get_ApplicationType_from_Vorlage(Convert.ToInt32(dt.Rows[0]["nr"].ToString()));
|
||||
switch(Apptype.ToUpper())
|
||||
{
|
||||
case "DOCX": case "DOCM": case "DOC": case "DOT": case "Word":
|
||||
SynFWord sfword = new SynFWord();
|
||||
clsDocData docdata = new clsDocData();
|
||||
docdata.PartnerNr = "1234";
|
||||
generate_docdata(dokumentid, ref docdata);
|
||||
string doc = sfword.Generate_Word(dt.Rows[0][0].ToString(),docdata);
|
||||
return doc;
|
||||
//System.IO.File.WriteAllBytes(tempdir + @"\" + dokumentid + ".docx", Convert.FromBase64String(doc));
|
||||
//Process.Start(tempdir + @"\" + dokumentid + ".docx");
|
||||
//break;
|
||||
case "XLSM": case "XLSX": case "XLST": case "XLS": case "XLT":
|
||||
return "";
|
||||
//break;
|
||||
case "PDF": case "ACROBAT": case "FORMULAR": case "DOKUMENT":
|
||||
string pdf = dt.Rows[0][0].ToString();
|
||||
return pdf;
|
||||
//break ;
|
||||
default:
|
||||
Logger.Info("DocGenerator_from_EDOKA: FileType unknown"+ Apptype);
|
||||
return "";
|
||||
//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<clsDocValue> docValues = new List<clsDocValue>();
|
||||
EDOKA_Database.EDOKA_DB db = new EDOKA_Database.EDOKA_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();
|
||||
dv1.TMBeginn = "";
|
||||
dv1.TMEnd = "";
|
||||
dv1.FieldName = "Text1";
|
||||
dv1.Value = "Das ist der Text, welcher automatisch in die Briefvorlage kopiert wird. " + "\r\n"+
|
||||
"Mit einem Zeilenumbruch";
|
||||
docValues.Add(dv1);
|
||||
docdata.As_Faksimile = "True";
|
||||
docdata.DocValues = docValues;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user