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 OnDoc.Klassen; using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.Controls.Styles; using Database; using Helper; using System.Windows.Forms.VisualStyles; using OnDoc.Helper; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; namespace OnDoc.UIControls.Administrator { public partial class Dokumenttyp : SfForm { DB db = new DB(AppParams.connectionstring); private int dokumenttypnr = 0; System.Data.DataRow Origin; public Dokumenttyp() { InitializeComponent(); } public Dokumenttyp(int dokumenttypnr) { InitializeComponent(); this.dokumenttypnr = dokumenttypnr; } System.Data.DataTable treedata = new System.Data.DataTable(); private void update_tree() { TreeDokumenttyp.Nodes.Clear(); db.Get_Tabledata("Select dokumenttypnr as ID, Bezeichnung, Aktiv from dokumenttyp", false, true); treedata = db.dsdaten.Tables[0].Copy(); string _sqlWhere = " Bezeichnung like '%" + txtFilter.Text + "%'"; string _sqlOrder = "Bezeichnung "; if (rbNr.Checked) { _sqlOrder = "id "; } else _sqlOrder = "Bezeichnung"; System.Data.DataTable _newDataTable = treedata.Select(_sqlWhere, _sqlOrder).CopyToDataTable(); foreach (DataRow r in _newDataTable.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); } } private void Dokumenttyp_Load(object sender, EventArgs e) { update_tree(); return; } private void Update_Details(int id) { db.Get_Tabledata("Select office_vorlagenr, bezeichnung from office_vorlage", false, true); cbboxofficevorlage.DataSource = db.dsdaten.Tables[0]; cbboxofficevorlage.DisplayMember = "Bezeichnung"; cbboxofficevorlage.ValueMember = "office_vorlagenr"; db.Get_Tabledata("select mitarbeiternr as id, name+' '+vorname+', '+tgnummer as MA from mitarbeiter where aktiv=1 order by name", false, true); cbboxFachverantwortung.DataSource = db.dsdaten.Tables[0]; cbboxFachverantwortung.DisplayMember = "MA"; cbboxFachverantwortung.ValueMember = "id"; cbboxOwner.DataSource = db.dsdaten.Tables[0]; cbboxOwner.DisplayMember = "MA"; cbboxOwner.ValueMember = "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]; this.TxTBezeichnung.Text = r["bezeichnung"].ToString(); this.TxTBeschreibung.Text = r["beschreibung"].ToString(); this.cbaktiv.Checked = Convert.ToBoolean(r["aktiv"]); this.cbboxofficevorlage.SelectedValue = r["office_vorlagenr"].ToString(); this.cbboxFachverantwortung.SelectedValue = r["fachverantwortung"].ToString(); this.cbboxOwner.SelectedValue = r["owner"].ToString(); this.cbVertrag.Checked = Convert.ToBoolean(r["vertrag"]) == true; this.cbbezeichnungmutierbar.Checked = Convert.ToBoolean(r["bezeichnungmut"]) == true; this.cbAnzeigeVorlagenauswahl.Checked = Convert.ToBoolean(r["AnzeigeZurDokumenterstellung"]) == true; this.rbDokumenterstellungBP.Checked = erstellungstyp == 1; this.rbDokumenterstellungPerson.Checked = erstellungstyp == 2; if (rbDokumenterstellungPerson.Checked == false && rbDokumenterstellungBP.Checked == false) { rbDokumenterstellungBP.Checked = true; } this.cbUnterschriftlinks.Checked = Convert.ToBoolean(r["unterschrift_links"]) == true; this.cbUnterschriftrechts.Checked = Convert.ToBoolean(r["unterschrift_rechts"]) == true; this.cbDigitaleUnterschrift.Checked = Convert.ToBoolean(r["Unterschrift_Faksimile"]) == true; this.cbFormularOhneUnterschrift.Checked = Convert.ToBoolean(r["Unterschrift_ohne"]) == true; this.cbUnterschriftpruefung.Checked = Convert.ToBoolean(r["Unterschrift_Pruefung"]) == true; this.lbUnterschriftStandard.SelectedIndex = Convert.ToInt32(r["unterschrift_standard"]); switch (Convert.ToInt32(r["genresultat_type"])) { case 1: cbOfficeDokument.Checked = true; break; case 2: cbPDFDokument.Checked = true; break; case 3: cbPDFDirekteArchivierung.Checked = true; break; case 4: cbbearbeitungzwingend.Checked = true; break; default: cbOfficeDokument.Checked = true; break; } this.cbversandstrasse_moeglich.Checked = r["versandstrasse_moeglich"].ToString() == "True"; this.cbebanking_moeglich.Checked = r["ebanking_moeglich"].ToString() == "True"; db.Get_Tabledata("Select vorlagenfeldregelnr, bezeichnung from vorlagenfeldregel where aktiv=1 order by bezeichnung", false, true); this.listBox1.DataSource = db.dsdaten.Tables[0]; this.listBox1.DisplayMember = "Bezeichnung"; this.listBox1.ValueMember = "vorlagenfeldregelnr"; try { chkbearbeitungdirekt.Checked = Convert.ToBoolean(r["BearbeitungDirket"]) == true; } catch { chkbearbeitungdirekt.Checked = false; } try { chkinterop.Checked = Convert.ToBoolean(r["interop"]) == true; } catch { chkinterop.Checked = false; } Update_Vorlagenfelder(); } private void Update_Vorlagenfelder() { db.Get_Tabledata("Select * from View_Vorlagenfelder_Relaunch where doktypid=" + dokumenttypnr.ToString(), false, true); this.sfDataGrid1.DataSource = db.dsdaten.Tables[0]; DataTable dt = db.dsdaten.Tables[0]; TableHelper.FormatTable(ref dt, "vorlagenfeld", ref this.sfDataGrid1); sfDataGrid1.Columns["Feldregel"].AllowTextWrapping = false; sfDataGrid1.Refresh(); } private void groupBox3_Enter(object sender, EventArgs e) { } private void checkBox1_CheckedChanged(object sender, EventArgs e) { } private void sfDataGrid1_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { string vorlagenfeldnr = ""; try { var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; Origin = (e.DataRow.RowData as DataRowView).Row; vorlagenfeldnr = dataRow["id"].ToString(); Update_Vorlagenfeld(dataRow); } catch { vorlagenfeldnr = "0"; return; } } private void Update_Vorlagenfeld(DataRow dr) { //Origin = dr; lblID.Text = dr["ID"].ToString(); lblfeldregelid.Text = dr["Feldregelid"].ToString(); lblFeldregel.Text = dr["feldregel"].ToString(); txtfeldname.Text = dr["feldname"].ToString(); txtbookmarkstart.Text = dr["BTM"].ToString(); txtBookmarkEnd.Text = dr["ETM"].ToString(); txtessclass.Text = dr["essclass"].ToString(); lblessfieldname.Text = dr["ess_feldname"].ToString(); txtessimagetop.Text = dr["ess_img_top"].ToString(); txtessimageleft.Text = dr["ess_img_left"].ToString(); txtessimagewidth.Text = dr["ess_img_width"].ToString(); txtessimagewidth.Text = dr["ess_img_height"].ToString(); txtSort.Text = dr["reihenfolge"].ToString(); txtUIDescription.Text = dr["feldbezeichnung"].ToString(); txtTechbezeichnung.Text = dr["Techbezeichnung"].ToString(); if (Convert.ToBoolean(dr["ui"]) == true) { chkui.Checked = true; txtSort.Enabled = true; txtUIDescription.Enabled = true; txtTechbezeichnung.Enabled = true; chkzwingend.Enabled = true; } else { chkui.Checked = false; chkui.Checked = false; txtSort.Enabled = false; txtUIDescription.Enabled = false; txtTechbezeichnung.Enabled = false; chkzwingend.Enabled = false; } if (Convert.ToBoolean(dr["aktiv"]) == true) { chkaktiv.Checked = true; } else { chkaktiv.Checked = false; } } private void txtfeldname_TextChanged(object sender, EventArgs e) { } private void txtSort_Leave(object sender, EventArgs e) { try { TextBox tmptxtbox = new TextBox(); tmptxtbox = sender as TextBox; Origin[tmptxtbox.Tag.ToString()] = tmptxtbox.Text; var record = sfDataGrid1.View.Records.GetItemAt(sfDataGrid1.SelectedIndex); this.sfDataGrid1.View.GetPropertyAccessProvider().SetValue(record, tmptxtbox.Tag.ToString(), tmptxtbox.Text); Origin.AcceptChanges(); sfDataGrid1.Update(); } catch { } } private void toolStripButton1_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["bezeichnung"] = this.TxTBezeichnung.Text; r["beschreibung"] = this.TxTBeschreibung.Text; r["office_vorlagenr"] = this.cbboxofficevorlage.SelectedValue; r["fachverantwortung"] = this.cbboxFachverantwortung.SelectedValue; r["owner"] = this.cbboxOwner.SelectedValue; r["vertrag"] = this.cbVertrag.Checked; r["bezeichnungmut"] = this.cbbezeichnungmutierbar.Checked; r["AnzeigeZurDokumenterstellung"] = this.cbAnzeigeVorlagenauswahl.Checked; r["unterschrift_links"] = this.cbUnterschriftlinks.Checked; r["unterschrift_rechts"] = this.cbUnterschriftrechts.Checked; r["Unterschrift_Faksimile"] = this.cbDigitaleUnterschrift.Checked; r["Unterschrift_ohne"] = this.cbFormularOhneUnterschrift.Checked; r["Unterschrift_Pruefung"] = this.cbUnterschriftpruefung.Checked; r["unterschrift_standard"]=this.lbUnterschriftStandard.SelectedIndex; r["aktiv"] = this.cbaktiv.Checked; r["mutierer"] = AppParams.CurrentMitarbieter; r["mutiert_am"]=DateTime.Now; r["versandstrasse_moeglich"] = cbversandstrasse_moeglich.Checked == true; r["ebanking_moeglich"] = cbebanking_moeglich.Checked == true; r["BearbeitungDirket"] = chkbearbeitungdirekt.Checked==true; r["interop"] = chkinterop.Checked == true; if (cbOfficeDokument.Checked) { r["genresultat_type"] = 1; } if (cbPDFDokument.Checked) { r["genresultat_type"] = 2; } if (cbPDFDirekteArchivierung.Checked) { r["genresultat_type"] = 3; } if (cbbearbeitungzwingend.Checked) { r["genresultat_type"] = 4; } db.Update_Data(); db.daten.Tables.Clear(); db.Get_Tabledata_for_Update("Select * from Dokumenttyp_BP_Person_Erstellung where dokumenttypnr=" + dokumenttypnr.ToString(), false, true); if (db.daten.Tables[0].Rows.Count > 0) { if (rbDokumenterstellungBP.Checked) { db.daten.Tables[0].Rows[0][1] = 1; } else { db.daten.Tables[0].Rows[0][1] = 2; } } else { DataRow dr = db.daten.Tables[0].NewRow(); dr[0] = dokumenttypnr; if (rbDokumenterstellungBP.Checked) {dr[1] = 1; } else { dr[1] = 2; } db.daten.Tables[0].Rows.Add(dr); } db.Update_Data(); ToastMessage.ShowToast("Speichern", "Dokumenttyp erfolgreich gespeichert"); } private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) { DB db = new DB(AppParams.connectionstring); db.Insert_Vorlagenfeld(Convert.ToInt32(this.listBox1.SelectedValue), this.dokumenttypnr, AppParams.CurrentMitarbieter); db.Get_Tabledata("Select top 1 vorlagenfeldnr from vorlagenfeld order by erstellt_am desc", false, true); int newkey = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]); Update_Vorlagenfelder(); pos_grid(newkey); db = null; } private void pos_grid(int newkey) { var records = this.sfDataGrid1.View.Records; foreach (var record in records) { var obj = record.Data as DataRowView; if (obj["id"].ToString() == newkey.ToString()) { this.sfDataGrid1.SelectedItems.Add(obj); var dataRow = (obj as DataRowView).Row; Origin = (obj as DataRowView).Row; Update_Vorlagenfeld(dataRow);} } } private void textBox2_TextChanged(object sender, EventArgs e) { } private void chkui_CheckedChanged(object sender, EventArgs e) { CheckBox tmpcheckbox = sender as CheckBox; Origin[tmpcheckbox.Tag.ToString()] = tmpcheckbox.Checked; var record = sfDataGrid1.View.Records.GetItemAt(sfDataGrid1.SelectedIndex); this.sfDataGrid1.View.GetPropertyAccessProvider().SetValue(record, tmpcheckbox.Tag.ToString(), tmpcheckbox.Checked); Origin.AcceptChanges(); sfDataGrid1.Update(); } private void TreeDokumenttyp_Click(object sender, EventArgs e) { } private void TreeDokumenttyp_AfterSelect(object sender, EventArgs e) { this.dokumenttypnr = Convert.ToInt32(TreeDokumenttyp.SelectedNode.Tag.ToString()); Update_Details(dokumenttypnr); } private void txtFilter_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { update_tree(); } } private void rbNr_Click(object sender, EventArgs e) { update_tree(); } } }