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.

213 lines
7.9 KiB

using BroadcastListener.Classes;
using Database;
using OnDoc.DocMgmt;
using OnDoc.Klassen;
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;
using BroadcastListener.Interfaces;
using static BroadcastListener.Classes.Factory;
using BroadcastListener.Classes;
using Syncfusion.WinForms.Controls;
namespace OnDoc.UIControls.Administrator
{
public partial class AdminDokTypGenerierung : SfForm
{
DB db = new DB(AppParams.connectionstring);
private int dokumenttypnr = 0;
System.Data.DataTable treedata = new System.Data.DataTable();
public AdminDokTypGenerierung()
{
InitializeComponent();
this.Style.TitleBar.BackColor = Theaming.Titelbar();
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
this.Style.ShadowOpacity = Theaming.ShadowOpacity;
this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity;
}
private void AdminDokTypGenerierung_Load(object sender, EventArgs e)
{
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("select distinct fachverantwortung from dbo.view_dokumenttypen_relaunch order by fachverantwortung asc", false, true);
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
cbboxfachverantwortung.Items.Add(dr[0].ToString());
}
update_tree();
return;
}
private void update_tree()
{
int count = txtFilter.Text.Trim().Count(f => f == ' ');
if (count > 0) { treedata.Rows.Clear(); }
TreeDokumenttyp.Nodes.Clear();
string sql = " Select dokumenttypnr as ID, Bezeichnung from view_dokumenttypen_relaunch ";
string where = "";
//sql = "Select dokumenttypnr as ID, Bezeichnung, Aktiv from dokumenttyp";
if (txtFilter.Text.Trim().Length > 0)
{
if (where.Length > 0) { where = where + " and "; } else { where = "where "; }
where = where + " bezeichnung like '%" + txtFilter.Text.Replace(" ", "%") + "%'";
}
if (cbboxfachverantwortung.Text != "")
{
if (where.Length > 0) { where = where + " and "; } else { where = "where "; }
where = where + " fachverantwortung ='"+cbboxfachverantwortung.Text+"'" ;
}
if (where.Trim().Length > 0) { sql = sql + where; }
//else
//{
// sql = sql + " where dokumenttypnr > 0";
//}
// if (chkboxaktive.Checked) { sql = sql + " and aktiv=1"; }
if (rbNr.Checked)
{
sql = sql + " order by dokumenttypnr";
}
else
{
sql = sql + " order by bezeichnung";
}
db.Get_Tabledata(sql, false, true);
treedata = db.dsdaten.Tables[0].Copy();
try
{
foreach (DataRow r in treedata.Rows)
{
TreeNodeAdv nodeAdv = new TreeNodeAdv();
nodeAdv.Text = r["id"].ToString() + " " + r["Bezeichnung"].ToString();
nodeAdv.Tag = r["id"].ToString();
//if (Convert.ToBoolean(r["aktiv"]) == false)
//{
// nodeAdv.Font = new System.Drawing.Font(nodeAdv.Font, FontStyle.Strikeout);
//}
TreeDokumenttyp.Nodes.Add(nodeAdv);
}
}
catch { }
}
private void TreeDokumenttyp_AfterSelect(object sender, EventArgs e)
{
try
{
this.dokumenttypnr = Convert.ToInt32(TreeDokumenttyp.SelectedNode.Tag.ToString());
Update_Details(dokumenttypnr);
}
catch { }
}
private void Update_Details(int id)
{
int erstellungstyp = 0;
db.Get_Tabledata("Select * from Dokumenttyp_BP_Person_Erstellung where dokumenttypnr=" + dokumenttypnr.ToString(), false, true);
if (db.dsdaten.Tables[0].Rows.Count != 0)
{
erstellungstyp = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
}
db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr = " + dokumenttypnr.ToString(), false, true);
DataRow r = db.dsdaten.Tables[0].Rows[0];
try { chkbearbeitungdirekt.Checked = Convert.ToBoolean(r["BearbeitungDirket"]) == true; } catch { chkbearbeitungdirekt.Checked = false; }
try { chkinterop.Checked = Convert.ToBoolean(r["interop"]) == true; } catch { chkinterop.Checked = false; }
try { chkboxInOffice.Checked = Convert.ToBoolean(r["erstellungInOffice"]) == true; } catch { chkboxInOffice.Checked = false; };
try { cbbearbeitungzwingend.Checked = Convert.ToBoolean(r["bearbeitung_zwingend"]) == true; } catch { cbbearbeitungzwingend.Checked = false; }
try { chkfilloffice.Checked = Convert.ToBoolean(r["FillOffice"]) == true; } catch { chkfilloffice.Checked = false; }
try { cbboxcompatibilitymode.Text = r["compatibilitymode"].ToString(); } catch { cbboxcompatibilitymode.Text = ""; }
}
private void sfButton1_Click(object sender, EventArgs e)
{
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata_for_Update("Select * from dokumenttyp where dokumenttypnr=" + dokumenttypnr.ToString(), false, true);
DataRow r = db.daten.Tables[0].Rows[0];
r["mutierer"] = AppParams.CurrentMitarbeiter;
r["mutiert_am"] = DateTime.Now;
r["BearbeitungDirket"] = chkbearbeitungdirekt.Checked == true;
r["interop"] = chkinterop.Checked == true;
r["erstellungInOffice"] = chkboxInOffice.Checked == true;
r["CompatibilityMode"] = cbboxcompatibilitymode.Text;
r["FillOffice"] = chkfilloffice.Checked == true;
r["bearbeitung_zwingend"] = this.cbbearbeitungzwingend.Checked == true;
db.Update_Data();
}
private void txtFilter_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
update_tree();
}
}
private void btnerstellen_Click(object sender, EventArgs e)
{
try
{
Broadcaster().Broadcast("AdminDokErstellung", new SenderInfo("AdminDokErstellung", "", this.dokumenttypnr.ToString()));
}
catch { }
}
private void cbbearbeitungzwingend_CheckedChanged(object sender, EventArgs e)
{
}
private void chkboxInOffice_CheckedChanged(object sender, EventArgs e)
{
if (chkboxInOffice.Checked) {
chkbearbeitungdirekt.Checked = false;
chkfilloffice.Checked = true;
}
}
private void chkbearbeitungdirekt_CheckedChanged(object sender, EventArgs e)
{
if (chkbearbeitungdirekt.Checked)
{
chkboxInOffice.Checked = false;
chkfilloffice.Checked = false;
}
}
private void toolstripCombobox_Fachverantwortung_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cbboxfachverantwortung_SelectedIndexChanged(object sender, EventArgs e)
{
update_tree();
}
private void btnFilterDelete_Click(object sender, EventArgs e)
{
cbboxfachverantwortung.Text = "";
txtFilter.Text = "";
update_tree();
}
}
}