using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Security.Policy; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using OnDoc.Klassen; using OnDoc.UIControls; using Model; using Database; using Syncfusion.Windows.Forms; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.DataGrid; using Syncfusion.WinForms.DataGrid.Interactivity; using Syncfusion.WinForms.ListView.Enums; using Syncfusion.WinForms.ListView.Events; namespace OnDoc.DocMgmt { public partial class Dokumentpaket : SfForm { private List doclist = new List(); private DataTable dokumentpaket = new DataTable(); private DataTable dokumentpaketvorlagen = new DataTable(); private DataTable dokumentpaketvorlagen_Original = new DataTable(); private int profilnr {get;set;} public int dokumentpaketnr { get; set; } = 0; public Dokumentpaket() { InitializeComponent(); this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); } public Dokumentpaket(int profilnr) { InitializeComponent(); this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); this.profilnr = profilnr; } private void NeuesDokumentpaket() { DokTypSelect dt = new DokTypSelect(); dt.vorlagentype = 2; dt.ShowDialog(); if (dt.DialogResult == DialogResult.OK) { dokumentpaketnr = Convert.ToInt32(dt.dokumenttypnr); } } private void Dokumentpaket_Load(object sender, EventArgs e) { this.BeginUpdate(); if (dokumentpaketnr == 0) { NeuesDokumentpaket(); } Update_PaketDetails(); } private void Update_PaketDetails() { Cursor = Cursors.WaitCursor; DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from edex_dokumentpaket where dokumentpaketnr="+dokumentpaketnr.ToString(), false, true); dokumentpaket = db.dsdaten.Tables[0].Copy(); string sql = "SELECT dbo.edex_dokumentpaket.dokumentpaketnr, dbo.edex_dokumentpaket.bezeichnung, dbo.dokumenttyp.dokumenttypnr, "; sql = sql + "dbo.dokumenttyp.bezeichnung AS dokumenttypbezeichnung, dbo.edex_dokumentpaketvorlage.zwingend, "; sql = sql + "dbo.edex_dokumentpaketvorlage.sort FROM dbo.edex_dokumentpaket INNER JOIN dbo.edex_dokumentpaketvorlage ON "; sql = sql + "dbo.edex_dokumentpaket.dokumentpaketnr = dbo.edex_dokumentpaketvorlage.dokumentpaketnr INNER JOIN dbo.dokumenttyp ON "; sql = sql + "dbo.edex_dokumentpaketvorlage.dokumenttypnr = dbo.dokumenttyp.dokumenttypnr "; sql = sql + " WHERE edex_dokumentpaket.dokumentpaketnr="+dokumentpaketnr.ToString()+" and (dbo.edex_dokumentpaket.aktiv = 1) AND "; sql = sql + " dbo.edex_dokumentpaketvorlage.aktiv = 1 ORDER BY dbo.edex_dokumentpaketvorlage.sort"; db.Get_Tabledata(sql,false,true); dokumentpaketvorlagen=db.dsdaten.Tables[0].Copy(); dokumentpaketvorlagen_Original = db.dsdaten.Tables[0].Copy(); sfListView1.DataSource = dokumentpaketvorlagen; sfListView1.DisplayMember = "dokumenttypbezeichnung"; sfListView1.ValueMember = "dokumentpaketvorlagenr"; sfListView1.ShowCheckBoxes = true; sfListView1.AllowTriStateMode = false; sfListView1.CheckedMember = "zwingend"; TabControlDokuments.TabPages.Clear(); foreach(System.Data.DataRow r in dokumentpaketvorlagen.Rows) { if (Convert.ToInt32(r[4]) == 1) { add_uc(r); } } Config_Doklist(); Cursor = Cursors.Default; try { this.Text = "Dokumentpaket " + dokumentpaket.Rows[0]["bezeichnung"].ToString(); } catch { } if (this.dokumentpaketnr == 0) { this.RibbonButtonGenerieren.Enabled = false; this.groupBox1.Enabled = false; this.groupBox2.Enabled=false; this.groupBox3.Enabled=false; } this.EndUpdate(); } private void Config_Doklist() { dokList1.profilnr = this.profilnr; dokList1.hide_panels(); } private void tsbtnPartnerSearch_Click(object sender, EventArgs e) { } private void tsbtnPartnerSuche_Click(object sender, EventArgs e) { } private void btnSearchBP_Click(object sender, EventArgs e) { UCAllgemeineDokumentParam newdoc = new UCAllgemeineDokumentParam(); doclist.Add(newdoc); Refresh_DocTab(); } private void add_uc(System.Data.DataRow r) { UCAllgemeineDokumentParam newdoc = new UCAllgemeineDokumentParam(); newdoc.profilnr = profilnr; newdoc.Dock= DockStyle.Fill; newdoc.checkpartner = false; newdoc.dokumenttypnr = Convert.ToInt32(r[2]); if (txtbpnummer.Text !="") { newdoc.partnernr = Convert.ToInt32(txtbpnummer.Text); } newdoc.Refresh_Details(); TabPageAdv tabPage = new TabPageAdv(r[3].ToString()); tabPage.Controls.Add(newdoc); TabControlDokuments.TabPages.Add(tabPage); } private void remove_uc(System.Data.DataRow r) { foreach (TabPageAdv tab in TabControlDokuments.TabPages) { if (tab.Text == r[3].ToString()) { TabControlDokuments.TabPages.Remove(tab); return; } } } private void Refresh_DocTab() { TabControlDokuments.TabPages.Clear(); foreach (UCAllgemeineDokumentParam uc in doclist) { TabPageAdv tabPage = new TabPageAdv("gummi"); tabPage.Controls.Add(uc); TabControlDokuments.TabPages.Add(tabPage); } } private void sfListView1_ItemChecked(object sender, Syncfusion.WinForms.ListView.Events.ItemCheckedEventArgs e) { var dataRow = (e.ItemData as DataRowView).Row; int vorlagenr = Convert.ToInt32(dataRow[2]); int zwingend = Convert.ToInt32(dataRow[4]); foreach (System.Data.DataRow r in dokumentpaketvorlagen_Original.Rows) { if (Convert.ToInt32(r[2]) == vorlagenr) { if (Convert.ToInt32(r[4])==1 && Convert.ToInt32(r[4]) != zwingend) { MessageBox.Show("Zwingende Dokumentte können nicht abgewählt werden"); dataRow[4] = 1; return; } } } if (Convert.ToInt32(dataRow[4]) == 1) { foreach (System.Data.DataRow r in dokumentpaketvorlagen_Original.Rows) { if (Convert.ToInt32(r[2]) == vorlagenr) { add_uc(r); } } } else { foreach (System.Data.DataRow r in dokumentpaketvorlagen_Original.Rows) { if (Convert.ToInt32(r[2]) == vorlagenr) { remove_uc(r); } } } } private void textBox1_Leave(object sender, EventArgs e) { try { foreach (TabPageAdv tab in TabControlDokuments.TabPages) { UCAllgemeineDokumentParam uc = (UCAllgemeineDokumentParam)tab.Controls[0]; uc.partnernr = Convert.ToInt32(txtbpnummer.Text); uc.update_partner(); } }catch { } } private void lblPaketDetails_Click(object sender, EventArgs e) { } private void sfDataGrid1_Click(object sender, EventArgs e) { } private void RibbonButtonExit_Click(object sender, EventArgs e) { this.Close(); } private void RibbonButtonGenerieren_Click(object sender, EventArgs e) { string filter = "dokumentid in ('"; progressBarAdv1.Minimum = 0; progressBarAdv1.Maximum = TabControlDokuments.TabPages.Count; progressBarAdv1.Value = 0; progressBarAdv1.Visible = true; foreach (TabPageAdv tab in TabControlDokuments.TabPages) { progressBarAdv1.Value = progressBarAdv1.Value+1; Application.DoEvents(); UCAllgemeineDokumentParam uc = (UCAllgemeineDokumentParam)tab.Controls[0]; uc.partnernr = Convert.ToInt32(txtbpnummer.Text); uc.Set_Edit_later(); uc.Update_DocGenData(); clsDocData dokdata = new clsDocData(); uc.update_dokdata(ref dokdata); uc.update_partner(); DOCGEN.DocGen docgen = new DOCGEN.DocGen(AppParams.connectionstring); string dokumentid = docgen.GenDocID(dokdata); dokdata.Dokumentid = dokumentid; filter = filter + dokumentid + "','"; dokumentid = dokdata.Dokumentid; 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); if (uc.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; System.Diagnostics.Process.Start("winword.exe", filename); clsProcessWatch.AddToList(dokdata.Dokumentid, filename, "Word"); } if (uc.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 (uc.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; } } } progressBarAdv1.Visible = false; filter = filter.Substring(0, filter.Length - 2) + ")"; dokList1.datafilter = filter; dokList1.refresh_dokumente(); } public void ribbonButtonNew_Click(object sender, EventArgs e) { NeuesDokumentpaket(); Update_PaketDetails(); } } }