You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

179 lines
6.8 KiB

using DOCGEN.Klassen;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using edoka_dms;
using Syncfusion.XlsIO.Parser.Biff_Records;
using Syncfusion.DocIO.DLS;
using System.Data.SqlClient;
using System.Data;
using System.Runtime.CompilerServices;
using Model;
using Database;
using NLog.Config;
using System.Runtime.Serialization;
using System.Xml.Linq;
using NLog.LayoutRenderers;
using System.Configuration;
using Syncfusion.DocIO;
using Syncfusion.Pdf;
using System.IO;
using Syncfusion.Compression.Zip;
namespace DOCGEN
{
public class DocGen
{
public edoka_dms.clsConnectionProvider conn_edoka = new edoka_dms.clsConnectionProvider();
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public string DokumentID = "";
public string connectionstring = "";
public clsDocData DocData = new clsDocData();
DB db = new DB();
public string apikey = "";
public string resturi = "";
public void Lic()
{
// 25. string lickey = "Ngo9BigBOggjHTQxAR8/V1NCaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXdecXRdQ2heUU13XUI="
//string lickey = "Ngo9BigBOggjHTQxAR8/V1NCaF5cXmZCf1FpRmJGdld5fUVHYVZUTXxaS00DNHVRdkdnWXZeeXRQR2NZUEZ2WkE=";
string lickey = "MzYzODg2NkAzMjM4MmUzMDJlMzBTOWljRmxNelA1d1VGOHpGR0lxQzB6UTAwKzIxK2VBNEhBZFp5alcxb1NVPQ==";
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(lickey);
}
public DocGen() {
Lic();
}
public DocGen(string Connectionstring)
{
this.connectionstring = Connectionstring;
this.DocData = DocData;
db.connectionstring = this.connectionstring;
Lic();
}
public DocGen(string Connectionstring, string RestURI, string ApiKey)
{
this.connectionstring = Connectionstring;
this.DocData = DocData;
db.connectionstring = this.connectionstring;
Lic();
this.resturi = RestURI;
this.apikey = ApiKey;
}
public string GenDocID(clsDocData docdata, bool editdoc, string dokumentid)
{
this.DocData = docdata;
if (DocData.UseEDOKA_Values.ToUpper() == "TRUE")
{
DokumentID=db.Create_EDOKA_Doc(this.DocData,editdoc,dokumentid);
Logging.DocLog.Info("Dokument erstellt", "DocGen", DokumentID, docdata.PartnerNr.ToString(), docdata.Ersteller.ToString());
}
else { DokumentID = ""; };
return DokumentID;
}
public string Barcodetest(string dokumentid)
{
return "";
}
public string generate_pdf(string dokumentid)
{
return "";
}
public string generate_serienbrief(string vorlage,serienbrief sb, string dokumentid, string resturi, string apikey)
{
SyncFWord sfword = new SyncFWord(resturi,apikey);
clsdok dok = new clsdok("", "", "","");
clsDocData dd = new clsDocData();
dd.DocMacros = new List<clsDocMacro>();
dd.Dokumentid = dokumentid;
dd.DokumentDatum = sb.dokumentdatum.ToString();
dd.Unterschrift_Links=sb.unterschriftlinks.ToString();
dd.Unterschrift_Rechts = sb.unterschriftrechts.ToString();
dd.DocValues = sb.DocValues;
dd.As_Faksimile = sb.faksimile_unterschrfit.ToString();
dd.Barcode = sb.vertrag == 1;
dd.VorlageNr = sb.officevorlagenr.ToString();
dd.barcode_height = sb.barcode_height;
dd.barcode_width = sb.barcode_width;
dd.barcode_top = sb.barcode_top;
dd.barcode_left = sb.barcode_left;
dd.barcode_horizontal = sb.barcode_horizontal;
dd.barcode_font=sb.barcode_font;
dd.barcode_fontsize = Convert.ToInt32(sb.barcode_fontsize);
dd.barcode_textposition=sb.barcode_textposition;
dd.barcode_zusatz = sb.barcode_zusatz;
dd.barcode_type=sb.barcode_type;
dd.barcode_content = sb.barcode_content;
dd.barcode_text = sb.barcode_text;
dok.dokument = sfword.Generate_Word(vorlage,dd, sb.img_unterschriftlinks,sb.img_unterschrfitrechts,sb.img_faktura,true);
db = null;
dok.doktype = "W";
sfword = null;
return dok.dokument;
}
public bool signdoc(string dokumentid, string tempdir)
{
DB db1 = new DB(connectionstring);
try
{
db1.Get_Tabledata("Select * from dokument where dokumentid = '" + dokumentid + "'", false, true);
string unterschriftlinks = db1.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString();
string unterschriftrechts = db1.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString();
string dokumenttypnr = db1.dsdaten.Tables[0].Rows[0]["dokumenttypnr"].ToString();
OnDocOffice.clsWordEdit we = new OnDocOffice.clsWordEdit(connectionstring, "", "", resturi, apikey);
if (we.insert_signature(dokumentid, unterschriftlinks, unterschriftrechts, tempdir,dokumenttypnr))
{
return true;
}
}
catch {
return false;
}
finally { db1 = null; }
return true;
}
//public void createpdf(string filename)
//{
// WordDocument document = new WordDocument(filename, FormatType.Automatic);
// CompatibilityMode compatibilityMode = document.Settings.CompatibilityMode;
// //document.UpdateDocumentFields();
// //document.UpdateDocumentFields();
// //TextSelection textSelection = document.Find("den Kunden", false, true);
// //WTextRange textRange = textSelection.GetAsOneRange();
// //Modifies the text
// //textRange.Text = "Replaced text";
// using (Syncfusion.DocToPDFConverter.DocToPDFConverter converter = new Syncfusion.DocToPDFConverter.DocToPDFConverter())
// {
// converter.Settings.EmbedFonts = true;
// //converter.Settings.UpdateDocumentFields = true;
// //converter.Settings.EnableAlternateChunks = true;
// //converter.Settings.AutoDetectComplexScript = true;
// //Converts Word document into PDF document
// using (PdfDocument pdfDocument = converter.ConvertToPDF(document))
// {
// pdfDocument.Save(filename + ".pdf");
// }
// };
//}
}
}