using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Database; using Microsoft.Office.Interop.Excel; using OnDoc.Klassen; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; namespace OnDoc.DocMgmt { public partial class frmToApproval : SfForm { public string dokumentid { get; set; } = ""; public string serienbriefnr { get; set; } = ""; private bool isserienbrief = false; DB db = new DB(AppParams.connectionstring); DB db1 = new DB(AppParams.connectionstring); public frmToApproval() { InitializeComponent(); this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); this.Style.ShadowOpacity = Theaming.ShadowOpacity; this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity; Closing += Form_Closing; } private void Form_Closing(object sender, CancelEventArgs e) { db = null; db1 = null; } private void frmToApproval_Load(object sender, EventArgs e) { db.clear_parameter(); db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false); cbboxunterschriftlinks.DataSource = db.dsdaten.Tables[0]; cbboxunterschriftrechts.DataSource = db.dsdaten.Tables[0]; cbboxunterschriftlinks.DisplayMember = "name"; cbboxunterschriftlinks.ValueMember = "mitarbeiternr"; cbboxunterschriftrechts.DisplayMember = "name"; cbboxunterschriftrechts.ValueMember = "mitarbeiternr"; if (dokumentid == "" && serienbriefnr == "") { return; } update_dokdetails(); } public void update_dokdetails() { if (serienbriefnr != "") { isserienbrief = true; } btntoapproval.Enabled = true; if (!isserienbrief) { db1.Get_Tabledata("Select * from dokument where dokumentid='" + dokumentid + "'", false, true); cbboxunterschriftlinks.SelectedValue = db1.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString(); cbboxunterschriftrechts.SelectedValue = db1.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString(); pxapproval1.Visible = false; pxapproval2.Visible = false; cbboxunterschriftlinks.Enabled = true; cbboxunterschriftrechts.Enabled = true; } else { db1.Get_Tabledata("Select * from edex_sb_serienbrief where serienbriefnr=" + serienbriefnr, false, true); cbboxunterschriftlinks.SelectedValue = db1.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString(); cbboxunterschriftrechts.SelectedValue = db1.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString(); pxapproval1.Visible = false; pxapproval2.Visible = false; cbboxunterschriftlinks.Enabled = true; cbboxunterschriftrechts.Enabled = true; } if (db1.dsdaten.Tables[0].Rows[0]["mutierer"].ToString() == db1.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString()) { cbboxunterschriftlinks.Enabled = false; pxapproval1.Visible = true; } if (db1.dsdaten.Tables[0].Rows[0]["mutierer"].ToString() == db1.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString()) { cbboxunterschriftrechts.Enabled = false; pxapproval2.Visible = true; } if (db1.dsdaten.Tables[0].Rows[0]["toApprove"].ToString() == "True") { if (cbboxunterschriftlinks.SelectedValue.ToString() == db1.dsdaten.Tables[0].Rows[0]["unterschriftlinks"].ToString()) { cbboxunterschriftlinks.Enabled = false; //pxapproval2.Visible = true; } if (cbboxunterschriftrechts.SelectedValue.ToString() == db1.dsdaten.Tables[0].Rows[0]["unterschriftrechts"].ToString()) { cbboxunterschriftrechts.Enabled = false; //pxapproval2.Visible = true; } } if (Convert.ToBoolean(db1.dsdaten.Tables[0].Rows[0]["approved"])) { cbboxunterschriftlinks.Enabled = false; pxapproval1.Visible = true; cbboxunterschriftrechts.Enabled = false; pxapproval2.Visible = true; btntoapproval.Enabled = false; } if (Convert.ToBoolean(db1.dsdaten.Tables[0].Rows[0]["approval1"])) { cbboxunterschriftlinks.Enabled = false; pxapproval1.Visible = true; } if (Convert.ToBoolean(db1.dsdaten.Tables[0].Rows[0]["approval2"])) { cbboxunterschriftrechts.Enabled = false; pxapproval2.Visible = true; } } private void btntoapproval_Click(object sender, EventArgs e) { insert_bewilligung(); this.DialogResult = DialogResult.OK; this.Close(); } public void insert_bewilligung() { if (!btntoapproval.Enabled) { return; }; DB dB = new DB(AppParams.connectionstring); int mailid = 1; string sql = ""; if (!isserienbrief) { sql = "Update dokument_Bewilligung set aktiv=0, mutiert_am=getdate(), mutierer = " + AppParams.CurrentMitarbeiter.ToString(); sql = sql + " where dokumentid='" + dokumentid + "' and abgelehnt=0 and bewilligt=0"; dB.Exec_SQL(sql); dB.Get_Tabledata_for_Update("select top 1 * from dokument_bewilligung where id=-2", false, true); mailid = 1; } else { sql = "Update serienbrief_Bewilligung set aktiv=0, mutiert_am=getdate(), mutierer = " + AppParams.CurrentMitarbeiter.ToString(); sql = sql + " where serienbriefnr='" + serienbriefnr + "' and abgelehnt=0 and bewilligt=0"; dB.Exec_SQL(sql); dB.Get_Tabledata_for_Update("select top 1 * from serienbrief_bewilligung where id=-2", false, true); mailid = 2; } //dB.Exec_SQL(sql); //dB.Get_Tabledata_for_Update("select top 1 * from dokument_bewilligung where id=-2", false, true); if (pxapproval1.Visible == false) { DataRow dr = dB.daten.Tables[0].NewRow(); if (!isserienbrief) { dr["dokumentid"] = this.dokumentid; } else { dr["serienbriefnr"] = this.serienbriefnr; } dr["mitarbeiter_bewilligung"] = cbboxunterschriftlinks.SelectedValue.ToString(); if (Convert.ToInt32(cbboxunterschriftlinks.SelectedValue) == AppParams.CurrentMitarbeiter) { dr["bewilligt"] = true; dr["bewilligt_am"] = DateTime.Now; } else { dr["bewilligt"] = false; } dr["abgelehnt"] = false; dr["bewilligungstyp"] = 1; dr["erstellt_am"] = DateTime.Now; dr["mutiert_am"] = DateTime.Now; dr["mutierer"] = AppParams.CurrentMitarbeiter; dr["aktiv"] = true; dr["notiz"] = txtnachricht.Text; dB.daten.Tables[0].Rows.Add(dr); dB.Update_Data(); string id = ""; if (!isserienbrief) { dB.Get_Tabledata("Select top 1 id from dokument_Bewilligung where dokumentid='" + dokumentid + "' order by id desc", false, true); id = dB.dsdaten.Tables[0].Rows[0][0].ToString(); } else { dB.Get_Tabledata("Select top 1 id from Serienbrief_Bewilligung where serienbriefnr='" + serienbriefnr + "' order by id desc", false, true); id = dB.dsdaten.Tables[0].Rows[0][0].ToString(); } clsMailer mailer = new clsMailer(); mailer.sendmail(mailid, cbboxunterschriftlinks.SelectedValue.ToString(), "", "", dokumentid, "", AppParams.CurrentMitarbeiter.ToString(), id); mailer = null; if (dokumentid != "") { Logging.DocLog.Info("Dokument zur Prüfung", "Dokument zur Prüfung", dokumentid, "", cbboxunterschriftlinks.Text.ToString()); } else { Logging.DocLog.Info("Serienbrief zur Prüfung", "Serienbrief zur Prüfung", serienbriefnr, "", cbboxunterschriftlinks.Text.ToString()); } } if (pxapproval2.Visible == false) { DataRow dr = dB.daten.Tables[0].NewRow(); if (!isserienbrief) { dr["dokumentid"] = this.dokumentid; } else { dr["serienbriefnr"] = this.serienbriefnr; } dr["mitarbeiter_bewilligung"] = cbboxunterschriftrechts.SelectedValue.ToString(); dr["bewilligt"] = false; dr["abgelehnt"] = false; dr["bewilligungstyp"] = 2; dr["erstellt_am"] = DateTime.Now; dr["mutiert_am"] = DateTime.Now; dr["mutierer"] = AppParams.CurrentMitarbeiter; dr["aktiv"] = true; dr["notiz"] = txtnachricht.Text; dB.daten.Tables[0].Rows.Add(dr); dB.Update_Data(); string id = ""; if (!isserienbrief) { dB.Get_Tabledata("Select top 1 id from dokument_Bewilligung where dokumentid='" + dokumentid + "' order by id desc", false, true); id = dB.dsdaten.Tables[0].Rows[0][0].ToString(); mailid = 1; } else { dB.Get_Tabledata("Select top 1 id from Serienbrief_Bewilligung where serienbriefnr='" + serienbriefnr + "' order by id desc", false, true); id = dB.dsdaten.Tables[0].Rows[0][0].ToString(); mailid = 2; } clsMailer mailer = new clsMailer(); mailer.sendmail(mailid, cbboxunterschriftrechts.SelectedValue.ToString(), "", "", dokumentid, "", AppParams.CurrentMitarbeiter.ToString(), id); mailer = null; if (!isserienbrief) { Logging.DocLog.Info("Dokument zur Prüfung", "Dokument zur Prüfung", dokumentid, "", cbboxunterschriftrechts.Text.ToString()); } else { Logging.DocLog.Info("Serienbrief zur Prüfung", "Serienbrief zur Prüfung", dokumentid, "", cbboxunterschriftrechts.Text.ToString()); } if (pxapproval1.Visible && pxapproval2.Visible) { if (!isserienbrief) { MessageBox.Show("Die Unterschriftenprüfung für dieses Dokument ist bereits erfolgt", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Die Unterschriftenprüfung für diesen Serienbrief ist bereits erfolgt", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Information); } this.Close(); } dB = null; } //if (txtnachricht.Text.Trim() != "") //{ // dB.insert_note(AppParams.CurrentMitarbeiter, "Hinweis zur Unterschriftenprüfung", txtnachricht.Text, dokumentid); //} } public void close_window() { this.Close(); } private void btncancel_Click(object sender, EventArgs e) { this.Close(); } } }