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.

153 lines
5.4 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;
namespace OnDoc.UIControls.Administrator
{
public partial class AdminDokTypGenerierung : Form
{
DB db = new DB(AppParams.connectionstring);
private int dokumenttypnr = 0;
System.Data.DataTable treedata = new System.Data.DataTable();
public AdminDokTypGenerierung()
{
InitializeComponent();
}
private void AdminDokTypGenerierung_Load(object sender, EventArgs e)
{
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 = "";
sql = "Select dokumenttypnr as ID, Bezeichnung, Aktiv from dokumenttyp";
if (txtFilter.Text.Trim().Length > 0)
{
sql = sql + " where bezeichnung like '%" + txtFilter.Text.Replace(" ", "%") + "%'";
}
else
{
sql = sql + " where dokumenttypnr > 0";
}
if (chkboxaktive.Checked) { sql = sql + " and aktiv=1"; }
if (rbNr.Checked)
{
sql = sql + " order by id";
}
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; }
}
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.CurrentMitarbieter;
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 { }
}
}
}