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.

403 lines
16 KiB

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