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.

300 lines
12 KiB

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();
}
}
}