using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using OnDoc.Klassen; using Model; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.DataGrid; using Syncfusion.WinForms.DataGrid.Interactivity; using Database; using OnDoc.UIControls; using BroadcastListener.Classes; using BroadcastListener.Interfaces; using static BroadcastListener.Classes.Factory; using OnDoc.Helper; namespace OnDoc.DocMgmt { public partial class Dokumenterstellung : SfForm, IMessageListener1 { public int partnernr { get; set; } = 0; public int profilnr { get; set; } = 0; public int dokumenttypnr { get; set; } = 0; public string interaktion { get; set; } = ""; public string showdoc { get; set; } = ""; public int DocFunction = 0; public bool interop { get; set; } = false; public bool runmacros { get; set; } = false; public string dokumentid = ""; public Dokumenterstellung() { InitializeComponent(); Broadcaster().AddListener(this); } public Dokumenterstellung(int Partnernr, int Dokumenttpynr, int Profilnr) { InitializeComponent(); partnernr = Partnernr; dokumenttypnr = Dokumenttpynr; profilnr = Profilnr; Broadcaster().AddListener(this); Closing += Form_Closing; } public Dokumenterstellung(int Partnernr, int Dokumenttypnr, int Profilnr, string Interaktion, string Showdoc) { InitializeComponent(); partnernr = Partnernr; dokumenttypnr = Dokumenttypnr; profilnr = Profilnr; interaktion= Interaktion; showdoc = Showdoc; Broadcaster().AddListener(this); Closing += Form_Closing; } private void Form_Closing(object sender, CancelEventArgs e) { Broadcaster().RemoveListener(this); } public void OnListen(string message, SenderInfo sender) { if (message == "BtnErstellung") { if (ucAllgemeineDokumentParam1.uniqid == sender.Details) { if (sender.Function == "Disable") { btnDokumenterstellen.Enabled = false; } else { btnDokumenterstellen.Enabled = true; } } } } private void Dokumenterstellung_Load(object sender, EventArgs e) { this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); ucAllgemeineDokumentParam1.dokumenttypnr = dokumenttypnr; ucAllgemeineDokumentParam1.partnernr = partnernr; ucAllgemeineDokumentParam1.profilnr = profilnr; ucAllgemeineDokumentParam1.Refresh_Details(); //if (ucAllgemeineDokumentParam1.check_bp_person() == false) //{ // btnDokumenterstellen.Enabled = false; //} Security security = new Security(); security.set_security(this); security = null; } private void sfButton2_Click(object sender, EventArgs e) { Dokument_Erstellen(); } public void Dokument_Erstellen() { if (ucAllgemeineDokumentParam1.check_fields()==false) { MessageBox.Show(ucAllgemeineDokumentParam1.check_error,"Feldwerte",MessageBoxButtons.OK,MessageBoxIcon.Error); return; }; ucAllgemeineDokumentParam1.Update_DocGenData(); clsDocData dokdata = new clsDocData(); ucAllgemeineDokumentParam1.update_dokdata(ref dokdata); DOCGEN.DocGen docgen = new DOCGEN.DocGen(AppParams.connectionstring); string dokumentid = docgen.GenDocID(dokdata); dokdata.Dokumentid = dokumentid; ucAllgemeineDokumentParam1.genertated_dokumentid = dokumentid; this.dokumentid=dokdata.Dokumentid; Logging.DocLog.Info("Dokumenterstellung", "frmDokumenterstellung", dokumentid, ucAllgemeineDokumentParam1.partnernr.ToString(), "Dokumenterstellung"); if (dokumentid != "") { DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(AppParams.connectionstring, AppParams.tempdir); clsdok dok = new clsdok("", "", ""); dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata); interop = ucAllgemeineDokumentParam1.interop; if (ucAllgemeineDokumentParam1.docgendata.erstellungsart == Erstellungsart.DokumentBearbeiten) { string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); db = null; DocFunction = 1; //if (dok.extension.Substring(0,1).ToUpper() == "D") { System.Diagnostics.Process.Start("winword.exe", filename); } //if (dok.extension.Substring(0, 1).ToUpper() == "X") { System.Diagnostics.Process.Start("excel.exe", filename); } //clsProcessWatch.AddToList(dokdata.Dokumentid, filename, "Word"); this.Close(); return; } if (ucAllgemeineDokumentParam1.docgendata.erstellungsart == Erstellungsart.DokumentPreview) { string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); db = null; } if (ucAllgemeineDokumentParam1.docgendata.erstellungsart == Erstellungsart.DokumentAlsPDF) { //Generator.DocToPDF(dokumentid, ref dok); dok.extension = "pdf"; string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); } if (ucAllgemeineDokumentParam1.docgendata.erstellungsart == Erstellungsart.DokumentSpäterBearbeiten) { string filename = AppParams.tempdir + dokumentid + "." + dok.extension; System.IO.File.WriteAllBytes(filename, Convert.FromBase64String(dok.dokument)); DB db = new DB(AppParams.connectionstring); db.Save_To_DB(dokdata.Dokumentid, filename); db = null; } if (ucAllgemeineDokumentParam1.docgendata.versandstrasse_moeglich == true) { ribbonButtonVersandstrasse.Enabled = true; } else { ribbonButtonVersandstrasse.Enabled = false; } PnlPreview.Visible = true; PnlPreview.Dock = DockStyle.Fill; Database.DB db1 = new Database.DB(AppParams.connectionstring); db1.Get_Tabledata("Select coldstatus from dokument where dokumentid='"+dokumentid+"'",false,true); if (Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]) == 1) { ribbonButtonArchiv.Enabled = false; ribbonButtonVersandstrasse.Enabled = false; } else { ribbonButtonArchiv.Enabled = true; ribbonButtonVersandstrasse.Enabled = true; } if (ucAllgemeineDokumentParam1.docgendata.versandstrasse_moeglich == false) { ribbonButtonVersandstrasse.Enabled = false; } docPreview1.Show_Doc(dokumentid); docPreview1.Hide_Editbuttons(); } } private void sfButton3_Click(object sender, EventArgs e) { DialogResult = DialogResult.Abort; this.Close(); } private void button1_Click(object sender, EventArgs e) { DocFunction = 1; this.Close(); } private void button2_Click(object sender, EventArgs e) { DocFunction = 2; this.Close(); } private void button3_Click(object sender, EventArgs e) { DocFunction = 3; PnlPreview.Visible = false; } private void button4_Click(object sender, EventArgs e) { DocFunction = 4; this.Close(); } private void button5_Click(object sender, EventArgs e) { DocFunction = 5; this.Close(); } private void GrpFnkt_Enter(object sender, EventArgs e) { } } }