using Database; using DOCGEN; using OnDoc.DocMgmt; using OnDoc.Klassen; using Syncfusion.Windows.Forms.Edit; using Syncfusion.Windows.Forms.Tools; 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; namespace OnDoc.UIControls { public partial class Approval : UserControl { public Approval() { InitializeComponent(); } private void treeViewAdv1_Click(object sender, EventArgs e) { try { } catch { } } private System.Data.DataTable notes = new System.Data.DataTable(); private void AddNote(string datum, string betreff, string note, string ersteller) { DataRow dr = notes.NewRow(); dr[0] = datum + " / " + betreff; dr[1] = note; dr[2] = ersteller; notes.Rows.Add(dr); } private void treeViewAdv1_NodeMouseClick(object sender, Syncfusion.Windows.Forms.Tools.TreeViewAdvMouseClickEventArgs e) { update_details(e.Node.Tag as string); } private void update_details(string nodetag){ try { notes.Rows.Clear(); ; notes.Columns.Clear(); notes.AcceptChanges(); notes.Columns.Add("Betreff"); notes.Columns.Add("Note"); notes.Columns.Add("Notewriter"); this.docPreview1.Show_Doc(nodetag); Database.DB db = new Database.DB(AppParams.connectionstring); db.Get_Tabledata("Select * from View_Relaunach_Approval_Doc where dokumentid='" + nodetag + "'", false, true); this.txtdokumentid.Text = db.dsdaten.Tables[0].Rows[0]["Dokumentid"].ToString(); this.txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0]["bezeichnung"].ToString(); this.txtPartnerNr.Text = db.dsdaten.Tables[0].Rows[0]["nrpar00"].ToString(); this.txtPartner.Text = db.dsdaten.Tables[0].Rows[0]["bkpar00"].ToString(); this.txterstelltam.Text = db.dsdaten.Tables[0].Rows[0]["erstelltam"].ToString(); this.txtersteller.Text = db.dsdaten.Tables[0].Rows[0]["ersteller"].ToString(); this.txtmutiertam.Text = db.dsdaten.Tables[0].Rows[0]["mutiertam"].ToString(); this.txtmutierer.Text = db.dsdaten.Tables[0].Rows[0]["mutierer"].ToString(); this.txtVerantwortlich.Text = db.dsdaten.Tables[0].Rows[0]["verantwortlich"].ToString(); foreach (DataRow dr in db.dsdaten.Tables[0].Rows) { try { if (Convert.ToBoolean(dr["aktiv"])) { AddNote(dr["erstellt_am"].ToString(), dr["betreff"].ToString(), dr["note"].ToString(), dr["Notizersteller"].ToString()); } } catch { } } sfListView1.DataSource = notes; sfListView1.DisplayMember = "Betreff"; sfListView1.ValueMember = "note"; } catch { } } private void sfListView1_ToolTipOpening(object sender, Syncfusion.WinForms.ListView.Events.ToolTipOpeningEventArgs e) { var dataRow = (e.ItemData as DataRowView).Row; this.txtNote.Text = dataRow["note"].ToString(); this.txtnotewriter.Text = dataRow["notewriter"].ToString(); } public void Update_Docs(int manr) { treeViewAdv1.Nodes.Clear(); Database.DB db = new Database.DB(AppParams.connectionstring); db.Get_Tabledata("Select * from view_relaunch_approval where mitarbeiter_bewilligung=" + manr.ToString() + " order by bewilligungstyp, nrpar00, bezeichnung", false, true); //TreeNodeAdv tn1 = new TreeNodeAdv(); //TreeNodeAdv tn2 = new TreeNodeAdv(); TreeNodeAdv tnpartner = null; //tn1.Text = "Unterschfit links"; //tn2.Text = "Unterschrift rechts"; int tmppartner = 0; foreach (DataRow dr in db.dsdaten.Tables[0].Rows) { if (tmppartner != Convert.ToInt32(dr["nrpar00"])) { tmppartner = Convert.ToInt32(dr["nrpar00"]); tnpartner = new TreeNodeAdv(); tnpartner.Text = dr["nrpar00"].ToString() + " " + dr["bkpar00"].ToString(); if (dr["bewilligungstyp"].ToString() == "1") { treeViewAdv1.Nodes.Add(tnpartner); } else { treeViewAdv1.Nodes.Add(tnpartner); } } TreeNodeAdv tndok = new TreeNodeAdv(); tndok.Text = dr["bezeichnung"].ToString(); tndok.Tag = dr["dokumentid"].ToString(); tndok.TagObject = dr; tnpartner.Nodes.Add(tndok); } //if (tn1.Nodes.Count > 0) { treeViewAdv1.Nodes.Add(tn1); } //if (tn2.Nodes.Count > 0) { treeViewAdv1.Nodes.Add(tn2); } treeViewAdv1.ExpandAll(); if (treeViewAdv1.Nodes.Count > 0) { treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0].Nodes[0]; update_details(treeViewAdv1.SelectedNode.Tag as string); } } public int anzahl_dokument() { return treeViewAdv1.Nodes.Count; } private void ribbonButtonNotApproved_Click(object sender, EventArgs e) { frmNote note = new frmNote(treeViewAdv1.SelectedNode.Tag.ToString(),"Ablehnen"); DataRow dr = treeViewAdv1.SelectedNode.TagObject as DataRow; if (note.ShowDialog() == DialogResult.OK) { DB db = new DB(AppParams.connectionstring); string sql = "update dokument_bewilligung set abgelehnt=1, abgelehnt_am = '" + DateTime.Now.ToString() + "', betreff='"+note.betreff+"', notizgrund='"+note.notiz+"' where id=" + dr["id"].ToString(); db.Exec_SQL(sql); clsMailer mailer = new clsMailer(); string empfaengerid = ""; db.Get_Tabledata("Select mutierer from dokument_Bewilligung where id=" + dr["id"].ToString(), false, true); empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString(); // treeViewAdv1.Nodes.Remove(treeViewAdv1.SelectedNode); // TreeNodeAdv tp = treeViewAdv1.SelectedNode.Parent; // treeViewAdv1.SelectedNode.Parent.Nodes.Remove(treeViewAdv1.SelectedNode); if (dr["Bewilligungstyp"].ToString() == "2") { db.Exec_SQL("Update dokument set approved=0, approval2=0 where dokumentid='" + dr["dokumentid"].ToString()+"'"); } else { db.Exec_SQL("Update dokument set approved=0, approval1=0 where dokumentid='" + dr["dokumentid"].ToString()+"'"); } mailer.sendmail(5, empfaengerid, "", "", dr["dokumentid"].ToString(), "", AppParams.CurrentMitarbeiter.ToString(), dr["id"].ToString()); mailer = null; remove_node(); //if (tp.Nodes.Count < 1) //{ // tp.Parent.Nodes.Remove(tp); //} db = null; Logging.DocLog.Info("Dokument geprüft - abgelehnt", "Dokumentprüfung", dr["dokumentid"].ToString(),"",""); } } private void ribbonButtonApproved_Click(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); DataRow dr = treeViewAdv1.SelectedNode.TagObject as DataRow; clsMailer mailer = new clsMailer(); string empfaengerid = ""; db.Get_Tabledata("Select mutierer from dokument_Bewilligung where id=" + dr["id"].ToString(), false, true); empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString(); string sql = "update dokument_bewilligung set bewilligt=1, bewilligt_am = '" + DateTime.Now.ToString() + "' where id=" + dr["id"].ToString(); db.Exec_SQL(sql); if (dr["Bewilligungstyp"].ToString() == "2") { db.Exec_SQL("Update dokument set approval2=1 where dokumentid='" + dr["dokumentid"].ToString() + "'"); } else { db.Exec_SQL("Update dokument set approval1=1 where dokumentid='" + dr["dokumentid"].ToString()+"'"); } mailer.sendmail(3, empfaengerid, "", "", dr["dokumentid"].ToString(), "", AppParams.CurrentMitarbeiter.ToString(), dr["id"].ToString()); mailer = null; Logging.DocLog.Info("Dokument geprüft", "Dokumentprüfung", dr["dokumentid"].ToString(), "", ""); db.Get_Tabledata("Select * from dokument where dokumentid='" + dr["dokumentid"].ToString() + "'", false, true); if (db.dsdaten.Tables[0].Rows[0]["approved"].ToString()=="True") { Cursor = Cursors.WaitCursor; DOCGEN.DocGen dg = new DocGen(AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey); if (dg.signdoc(dr["dokumentid"].ToString(), AppParams.tempdir)) { db.Exec_SQL("Update Dokument set signiert=1, mutierer=" + AppParams.CurrentMitarbeiter.ToString() + ", mutiertam=getdate() where dokumentid='" + dr["dokumentid"].ToString() + "'"); } dg = null; Cursor = Cursors.Default; } db = null; remove_node(); } private void remove_node() { this.txtdokumentid.Text = ""; this.txtbezeichnung.Text = ""; this.txtPartnerNr.Text = ""; this.txtPartner.Text = ""; this.txterstelltam.Text = ""; this.txtersteller.Text = ""; this.txtmutiertam.Text = ""; this.txtmutierer.Text = ""; this.txtVerantwortlich.Text = ""; this.docPreview1.clear_viewer(); TreeNodeAdv tparent = treeViewAdv1.SelectedNode.Parent; tparent.Nodes.Remove(treeViewAdv1.SelectedNode); treeViewAdv1.Nodes.Remove(treeViewAdv1.SelectedNode); if (tparent.Nodes.Count < 1) { treeViewAdv1.Nodes.Remove(tparent); } else { treeViewAdv1.SelectedNode = tparent.Nodes[0]; } if (treeViewAdv1.Nodes.Count < 1) { } else { treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0].Nodes[0]; } try { update_details(treeViewAdv1.SelectedNode.Tag as string); } catch { } } private void ribbonButton1_Click(object sender, EventArgs e) { Update_Docs(AppParams.CurrentMitarbeiter); try { treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0].Nodes[0]; update_details(treeViewAdv1.SelectedNode.Tag as string); } catch { } } } }