using OnDoc.Klassen; using OnDoc.UIControls.Administrator; using Model; using Syncfusion.WinForms.DataGrid; 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 Database; using Syncfusion.Pdf.Graphics; using Windows.UI.WebUI; using OnDoc.Diverses; using System.Web.Security; using System.Drawing.Text; using BroadcastListener.Classes; using static BroadcastListener.Classes.Factory; using System.Web.UI.WebControls; using Windows.UI; using edoka_dms; using Syncfusion.Windows.Forms.Tools.XPMenus; using Windows.Graphics.Printing3D; using System.IO; using System.Net; using Syncfusion.Windows.Shared; using System.Xml.Linq; using Syncfusion.WinForms.Input; using System.Globalization; using System.Threading; using System.ComponentModel.Design; namespace OnDoc.UIControls { public partial class UCAllgemeineDokumentParam : UserControl { public int dokumenttypnr { get; set; } public int profilnr { get; set; } public int partnernr { get; set; } public bool checkpartner { get; set; } = true; public bool interop { get; set; } = false; public bool barcode { get; set; } = false; public bool bedingt_retournierbar { get; set; } = false; public bool runmacros { get; set; } = false; public string check_error { get; set; } = ""; public clsdocgendata docgendata { get; set; } private bool bpperson_error { get; set; } = false; public int bpperson_error_type { get; set; } = 0; public bool personendokument { get; set; } = false; public bool bpdokument { get; set; } = false; public string uniqid { get; set; } = Guid.NewGuid().ToString(); public bool ausDokumentpaket { get; set; } = false; public string genertated_dokumentid { get; set; } public bool ErstellungInOffice = false; public int vorlagenr = 0; public bool kopfzeile_generieren = false; public string barcode_zusatz = ""; public int barcode_top = 0; public int barcode_left = 0; public int barcode_width = 0; public int barcode_height = 0; public int barcode_horizontal = 0; public string barcode_type = ""; public string barcode_content = ""; public bool Erstellung_in_Office = false; public bool FillOffice = false; public string CompatibilityMode = ""; public bool signiert = false; public string dokumentid { get; set; } = ""; public UCAllgemeineDokumentParam() { InitializeComponent(); docgendata = new clsdocgendata(); } public void Refresh_Details() { var x = DateDokumentDatum.Culture.DateTimeFormat.FirstDayOfWeek; DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select nreintrag, bezeichnung from Postzustellung where aktiv=1 order by bezeichnung", false, true); cbboxpostzustellung.DataSource = db.dsdaten.Tables[0]; cbboxpostzustellung.ValueMember = "nreintrag"; cbboxpostzustellung.DisplayMember = "bezeichnung"; db.clear_parameter(); db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false); cbboxzustaendigmitarbeiter.DataSource = db.dsdaten.Tables[0]; cbboxzustaendigmitarbeiter.DisplayMember = "name"; cbboxzustaendigmitarbeiter.ValueMember = "mitarbeiternr"; cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbeiter; cbboxunterschriftlinks.DataSource = db.dsdaten.Tables[0]; cbboxunterschriftlinks.DisplayMember = "name"; cbboxunterschriftlinks.ValueMember = "mitarbeiternr"; cbboxunterschriftrechts.DataSource = db.dsdaten.Tables[0]; cbboxunterschriftrechts.DisplayMember = "name"; cbboxunterschriftrechts.ValueMember = "mitarbeiternr"; cbboxverantwortlich.DataSource = db.dsdaten.Tables[0]; cbboxverantwortlich.DisplayMember = "name"; cbboxverantwortlich.ValueMember = "mitarbeiternr"; cbboxverantwortlich.SelectedValue = AppParams.CurrentMitarbeiter; db.clear_parameter(); db.add_parameter("dokumenttypnr", dokumenttypnr.ToString()); db.add_parameter("@dokumentid", ""); db.add_parameter("@fnkt", "1"); db.add_parameter("@mitarbeiternr", AppParams.CurrentMitarbeiter.ToString()); db.add_parameter("@bck", "0"); db.Get_Tabledata("SP_Dokumentbearbeitung_StatusSelektion", true, false); if (dokumenttypnr != 0) { set_personendokument(); } if (partnernr != 0) { update_partner(); //check_bp_person(); } else { if (checkpartner == true) { show_partnerdialog(); } } if (dokumenttypnr != 0) { //set_personendokument(); db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + dokumenttypnr, false, true); System.Data.DataRow dr = db.dsdaten.Tables[0].Rows[0]; this.txtbezeichnung.Text = dr["Bezeichnung"].ToString(); this.txtbezeichnung.Enabled = Convert.ToBoolean(dr["bezeichnungmut"]); this.cbboxunterschriftlinks.Enabled = Convert.ToBoolean(dr["unterschrift_links"]) == true; this.cbboxunterschriftrechts.Enabled = Convert.ToBoolean(dr["unterschrift_rechts"]) == true; this.cbformularohneunterschrfit.Enabled = Convert.ToBoolean(dr["unterschrift_ohne"]) == true; if (cbboxunterschriftlinks.Enabled == false) { cbboxunterschriftlinks.Visible = false; lblUnterschriftlinks.Visible = false; } if (cbboxunterschriftrechts.Enabled == false) { cbboxunterschriftrechts.Visible = false; lblUnterschriftrechts.Visible = false; } this.cbfaksimile.Enabled = Convert.ToBoolean(dr["unterschrift_faksimile"]) == true; if (this.cbfaksimile.Enabled == true) { this.cbfaksimile.Checked = true; //20250208 - bis faksimile klappt this.cbfaksimile.Checked = false; } this.cbformularohneunterschrfit.Checked = false; if (cbformularohneunterschrfit.Enabled) { lblUnterschriftlinks.Visible = false; lblUnterschriftrechts.Visible = false; cbboxunterschriftlinks.Visible = false; cbboxunterschriftrechts.Visible = false; cbfaksimile.Visible = false; lblohneUnterschrift.Visible = true; } if (this.cbfaksimile.Enabled == false) { cbfaksimile.Visible = false; } try { if (Convert.ToBoolean(dr["ErstellungInOffice"]) == true) { this.ErstellungInOffice = true; } else { ErstellungInOffice = false; } } catch { ErstellungInOffice = false; } if (dr["Versandstrasse_moeglich"].ToString() == "") { docgendata.versandstrasse_moeglich = false; } else { docgendata.versandstrasse_moeglich = Convert.ToBoolean(dr["Versandstrasse_moeglich"].ToString()); } if (Convert.ToInt32(dr["Unterschrift_Standard"].ToString()) == 1) { cbfaksimile.Checked = true; } if (Convert.ToInt32(dr["Unterschrift_Standard"].ToString()) == 2) { cbformularohneunterschrfit.Checked = true; } try { this.rbDokumentbearbeiten.Checked = Convert.ToBoolean(dr["BearbeitungDirket"]) == true; } catch { this.rbDokumentbearbeiten.Checked = false; } try { interop = Convert.ToBoolean(dr["interop"]) == true; } catch { interop = false; } barcode = Convert.ToBoolean(dr["Vertrag"]) == true; if (Convert.ToInt32(dr["doktypbedingteretournierung"]) > 0) { barcode = true; } try { this.bedingt_retournierbar = Convert.ToBoolean(dr["bedingtretournierbar"]) == true; } catch { } try { if (dr["physisches_archiv"].ToString() == "1") { this.barcode_zusatz = " U"; } if (dr["physisches_archiv"].ToString() == "2") { this.barcode_zusatz = " F"; } } catch { } if (barcode) { this.lblTermin.Visible = true; this.DateTermin.Visible = true; this.DateTerminText.Visible = true; this.DateTerminText.Text = ""; } else { this.lblTermin.Visible = false; this.DateTermin.Visible = false; this.DateTerminText.Visible = false; this.DateTermin.Value = new DateTime(1900, 01, 01); } this.Erstellung_in_Office = Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["ErstellungInOffice"]); this.FillOffice = Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["FillOffice"]); this.CompatibilityMode = db.dsdaten.Tables[0].Rows[0]["CompatibilityMode"].ToString(); db.Get_Tabledata("Select beschreibung from physischesarchiv where physischesarchivnr = " + dr["physisches_archiv"].ToString(), false, true); barcode_zusatz = db.dsdaten.Tables[0].Rows[0][0].ToString(); if (barcode_zusatz != "") { barcode_zusatz = " " + barcode_zusatz; } db.Get_Tabledata("Select office_vorlagenr,kopfzeile_generieren, bcpt,bcpl, bcw, bch, bchorizontal, barcodetype, datamatrixcontent from office_vorlage where office_vorlagenr=" + dr["office_vorlagenr"].ToString(), false, true); this.vorlagenr = Convert.ToInt32(dr["office_vorlagenr"]); this.kopfzeile_generieren = false; try { if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0][1]) == true) { this.kopfzeile_generieren = true; } } catch { } this.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]); this.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]); this.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]); this.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]); this.barcode_horizontal = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bchorizontal"]); this.barcode_type = db.dsdaten.Tables[0].Rows[0]["BarcodeType"].ToString(); this.barcode_content = db.dsdaten.Tables[0].Rows[0]["DatamatrixContent"].ToString(); string logdata1 = barcode_left.ToString() + "/" + barcode_top.ToString() + "/" + barcode_width.ToString() + "/" + barcode_height.ToString(); Logging.Logging.Debug("Barcode-Size Ursprung:" + logdata1, "OnDoc", ""); if (this.ErstellungInOffice == false) { Logging.Logging.Debug("Erstellung not Office", "OnDoc", ""); string sql = ""; sql = "select bcpt, bcpl, bcw, bch, bchorizontal from OnDocBarcodeMpping "; sql = sql + "where orig_bcpt = " + barcode_top.ToString() + " and orig_bcpl=" + barcode_left.ToString() + " "; sql = sql + "and orig_bcw=" + barcode_width.ToString() + " and orig_bch=" + barcode_height.ToString(); db.Get_Tabledata(sql, false, true); if (db.dsdaten.Tables[0].Rows.Count > 0) { logdata1 = barcode_left.ToString() + "/" + barcode_top.ToString() + "/" + barcode_width.ToString() + "/" + barcode_height.ToString(); this.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]); this.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]); this.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]); this.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]); string logdata2 = barcode_left.ToString() + "/" + barcode_top.ToString() + "/" + barcode_width.ToString() + "/" + barcode_height.ToString(); Logging.Logging.Debug("Barcode-Resize: " + logdata1 + " - " + logdata2, "ondoc", ""); } } } else { } Logging.Logging.Debug("Profilnr", "OnDoc", profilnr.ToString()); if (profilnr != 0) { db.Get_Tabledata("Select * from profil where profilnr=" + profilnr, false, true); int ulinks = 0; int urechts = 0; try { ulinks = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["unterschriftlinks"]); cbboxunterschriftlinks.SelectedValue = ulinks; } catch { ulinks = 0; Logging.Logging.Debug("Unterschrift links nicht zugewiesen", "DokPaket", ulinks.ToString() + " / " + profilnr.ToString()); } try { urechts = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["unterschriftrechts"]); cbboxunterschriftrechts.SelectedValue = urechts; } catch { urechts = 0; Logging.Logging.Debug("Unterschrift rechts nicht zugewiesen", "DokPaket", urechts.ToString() + " / " + profilnr.ToString()); } } if (dokumentid == "") { Get_DokWertList(ref db, "", 1); } db = null; Refresh_Team(); try { this.cbboxteam.SelectedIndex = 0; } catch { } } public List List_avqref { get; set; } = new List(); private void Get_DokWertList(ref DB db, string dokumentid, int createnew) { System.Data.DataTable dokwertlist = new System.Data.DataTable(); dokwertlist = db.Get_DokumentWertList(dokumentid, dokumenttypnr, createnew); if (EDK_Data.toexecute == true) { //db.Get_Tabledata("Select mitarbeiternr from mitarbeiter where tgnummer='" + EDK_Data.verantwortlich + "'", false, true); //if (db.dsdaten.Tables[0].Rows.Count > 0) { cbboxverantwortlich.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]); } db.Get_Tabledata("Select mitarbeiternr from mitarbeiter where tgnummer='" + EDK_Data.unterschrift_links + "'", false, true); if (db.dsdaten.Tables[0].Rows.Count > 0) { cbboxunterschriftlinks.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]); } db.Get_Tabledata("Select mitarbeiternr from mitarbeiter where tgnummer='" + EDK_Data.unterschrift_rechts + "'", false, true); if (db.dsdaten.Tables[0].Rows.Count > 0) { cbboxunterschriftrechts.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]); } foreach (System.Data.DataRow dr in dokwertlist.Rows) { string val = EDK_Data.GetAVQ_Value(dr[0].ToString(), dr[12].ToString()); if (val != "") { dr[2] = val; } if (dr[0].ToString().ToLower().Contains("extl") && dr[0].ToString().ToLower().Contains("auth")&&dr[0].ToString().ToLower().Contains("ref")) { clsav_authl_ref avqref = new clsav_authl_ref(); Logging.Logging.Debug("avq_ref", "OnDoc", val); avqref.auth_ref = val; List_avqref.Add(avqref); } } dokwertlist.AcceptChanges(); } gridDokwertlist.DataSource = dokwertlist; for (int i = 3; i < gridDokwertlist.Columns.Count; i++) { gridDokwertlist.Columns[i].Visible = false; } gridDokwertlist.Columns[0].AllowEditing = false; gridDokwertlist.Columns[1].AllowEditing = false; gridDokwertlist.Columns[0].Width = gridDokwertlist.Width * 0.35; gridDokwertlist.Columns[1].Width = gridDokwertlist.Width * 0.15; gridDokwertlist.Columns[2].Width = gridDokwertlist.Width * 0.35; gridDokwertlist.Columns.Add(new GridImageColumn() { MappingName = "S", ImageLayout = ImageLayout.Center }); gridDokwertlist.Columns["S"].Width = 25; gridDokwertlist.QueryImageCellStyle += gridDokwertlist_QueryImageCellStyle; gridDokwertlist.Columns["userinterface"].FilterPredicates.Add(new Syncfusion.Data.FilterPredicate() { FilterType = Syncfusion.Data.FilterType.Equals, FilterValue = true }); gridDokwertlist.View.RecordPropertyChanged += OnRecordPropertyChanged; } private void OnRecordPropertyChanged(object sender, PropertyChangedEventArgs e) { try { DataRowView x = (DataRowView)sender; if (x["Validierungsregel"].ToString() != "") { DB db = new DB(AppParams.connectionstring); db.clear_parameter(); db.add_parameter("@FeldwertIn", x["Feldwert"].ToString()); db.add_parameter("@Validierungsregel", x["Validierungsregel"].ToString()); db.Get_Tabledata("OnDoc_sp_dokumentfeldwert_validate", true, false); if (db.dsdaten.Tables[0].Rows.Count > 0) { MessageBox.Show(db.dsdaten.Tables[0].Rows[0][0].ToString(), "Wertprüfung", MessageBoxButtons.OK, MessageBoxIcon.Error); } db = null; } } catch { } //if (e.PropertyName == "Name") //{ // // Updates the "Last Modified Date" // this.gridDokwertlist.View.GetPropertyAccessProvider().SetValue(sender as DataRowView, "Last Modified Date", DateTime.Now); //} } public bool FilterRecords(object o) { string filterText = "FRANS"; var item = o as DataRowView; if (item != null) { //if (item.CustomerID.Equals(filterText)) // return true; } return false; } public bool set_personendokument() { DB db1 = new DB(AppParams.connectionstring); db1.Get_Tabledata("select * from Dokumenttyp_BP_Person_Erstellung where dokumenttypnr=" + this.dokumenttypnr.ToString(), false, true); if (db1.dsdaten.Tables[0].Rows.Count == 0) { personendokument = false; bpdokument = true; } else { if (db1.dsdaten.Tables[0].Rows[0][1].ToString() == "2") personendokument = true; if (db1.dsdaten.Tables[0].Rows[0][1].ToString() == "1") personendokument = false; if (personendokument) { bpdokument = false; } } return personendokument; } public bool check_bp_person() { DB db1 = new DB(AppParams.connectionstring); db1.Get_Tabledata("select * from Dokumenttyp_BP_Person_Erstellung where dokumenttypnr=" + this.dokumenttypnr.ToString(), false, true); bpperson_error_type = 0; if (db1.dsdaten.Tables[0].Rows.Count > 0) { if (db1.dsdaten.Tables[0].Rows[0][1].ToString() == "2" && this.partnernr.ToString().Length < 9) { bpperson_error = true; bpperson_error_type = 1; if (!ausDokumentpaket) MessageBox.Show("Das gewählte Dokument muss für eine Person erstellt werden", "BP/Person", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } if (db1.dsdaten.Tables[0].Rows[0][1].ToString() == "1" && this.partnernr.ToString().Length > 8) { bpperson_error = true; bpperson_error_type = 2; if (!ausDokumentpaket) MessageBox.Show("Das gewählte Dokument muss für ein BP erstellt werden", "BP/Person", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } } return true; } public void update_partner() { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from partner where nrpar00=" + partnernr, false, true); this.lblPartner.Text = db.dsdaten.Tables[0].Rows[0]["nrpar00"].ToString() + " " + db.dsdaten.Tables[0].Rows[0]["bkpar00"].ToString(); db.clear_parameter(); db.add_parameter("@nrpar00", this.partnernr.ToString()); db.Get_Tabledata("OnDoc_sp_partner_detail", true, false); txtPartnerInhaber.Text = ""; txtPartnerZusteller.Text = ""; string s = ""; for (int i = 1; i < 8; i++) { txtPartnerInhaber.Text = txtPartnerInhaber.Text + db.dsdaten.Tables[0].Rows[0]["d" + i.ToString()].ToString() + "\r\n"; txtPartnerZusteller.Text = txtPartnerZusteller.Text + db.dsdaten.Tables[0].Rows[0]["h" + i.ToString()].ToString() + "\r\n"; s = s + db.dsdaten.Tables[0].Rows[0]["h" + i.ToString()].ToString(); } if (s == "") { txtPartnerZusteller.Text = txtPartnerInhaber.Text; } db.clear_parameter(); db.add_parameter("@partnernr", this.partnernr.ToString()); db.Get_Tabledata("sp_dokumentbearbeitung_kube", true, false); cbboxzustaendigkube.DataSource = db.dsdaten.Tables[0]; cbboxzustaendigkube.DisplayMember = "name"; cbboxzustaendigkube.ValueMember = "mitarbeiternr"; try { cbboxzustaendigkube.SelectedIndex = 0; } catch { } db.clear_parameter(); db.add_parameter("@nrpar00", partnernr.ToString()); db.Get_Tabledata("OnDoc_SP_Check_Other_Addr", true, false); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) == 1) { btnweitereadressen.Visible = true; } else { btnweitereadressen.Visible = false; } db = null; if (check_bp_person() == true) { if (!ausDokumentpaket) Broadcaster().Broadcast("BtnErstellung", new SenderInfo("UIGenDoc", "Enable", uniqid)); } else { if (!ausDokumentpaket) Broadcaster().Broadcast("BtnErstellung", new SenderInfo("UIGenDoc", "Disable", uniqid)); } } private void gridDokwertlist_QueryImageCellStyle(object sender, Syncfusion.WinForms.DataGrid.Events.QueryImageCellStyleEventArgs e) { var rowdata = (DataRowView)e.Record; var feldtyp = rowdata.Row.ItemArray[5].ToString(); var datenherkunft = rowdata.Row.ItemArray[6].ToString(); try { if (feldtyp.ToUpper().Substring(0, 5) == "DATUM") { e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\calendar.png")); return; } } catch { } try { if (datenherkunft.ToString().Trim() != "" && datenherkunft.ToString().Trim() != "&Freitext&") { e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Search.png")); } if (datenherkunft.Substring(0, 3).ToUpper() == "&PA") { e.Image = (System.Drawing.Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Partner.png")); } } catch { } //e.Image = (Image.FromFile(System.Windows.Forms.Application.StartupPath + @"\images\Search_16x16.png")); } private void Refresh_Team(int id = 0) { DB dbteam = new DB(AppParams.connectionstring); dbteam.clear_parameter(); dbteam.add_parameter("@profilnr", profilnr.ToString()); if (id == 0) { dbteam.add_parameter("@mitarbeiternr", cbboxzustaendigmitarbeiter.SelectedValue.ToString()); } else { dbteam.add_parameter("@mitarbeiternr", id.ToString()); } dbteam.Get_Tabledata("sp_dokumentbearbeitung_team", true, false); cbboxteam.DataSource = null; cbboxteam.DataSource = dbteam.dsdaten.Tables[0]; cbboxteam.ValueMember = "teamnr"; cbboxteam.DisplayMember = "bezeichnung"; cbboxteam.SelectedIndex = 0; } public void Set_Edit_later() { this.rbEditlater.Checked = true; } public Boolean check_fields() { check_error = ""; var records = gridDokwertlist.View.Records; foreach (var record in records) { var dataRowView = record.Data as DataRowView; if (dataRowView != null) { bool zwingend = Convert.ToBoolean(dataRowView.Row["zwingend"]); var feldwert = dataRowView.Row["feldwert"].ToString().Trim(); var bezeichnung = dataRowView.Row["bezeichnung"]; if (zwingend == true && feldwert == "") { if (check_error != "") { check_error = check_error + Environment.NewLine; } check_error = check_error + "- " + bezeichnung + " Feldwert ist zwingend"; } } } if (cbfaksimile.Checked) { int ul = 0; int ur = 0; try { ul = Convert.ToInt32(cbboxunterschriftlinks.SelectedValue); } catch { } try { ur = Convert.ToInt32(cbboxunterschriftrechts.SelectedValue); } catch { } if (cbboxunterschriftlinks.Text == "") { ul = 0; } if (cbboxunterschriftrechts.Text == "") { ur = 0; } if (cbfaksimile.Checked) { if (ul != 0) { if (!Check_Signature(ul)) { if (check_error != "") { check_error = check_error + Environment.NewLine; } check_error = check_error + "- Unterschriftenbild " + cbboxunterschriftlinks.Text + " fehlt"; } } if (ur != 0) { if (!Check_Signature(ur)) { if (check_error != "") { check_error = check_error + Environment.NewLine; } check_error = check_error + "- Unterschriftenbild " + cbboxunterschriftrechts.Text + " fehlt"; } } } } try { if (this.DateTerminText.Text.Trim() != "") { try { DateTime checkdate = Convert.ToDateTime(this.DateTerminText.Text); } catch { if (check_error != "") { check_error = check_error + Environment.NewLine; } check_error = check_error + "- Termin-Datum ist kein gültiges Datum "; } } } catch { } //20250121 - ausblenden //if (ul==0 || ur == 0) //{ // if (check_error != "") { check_error = check_error + Environment.NewLine + Environment.NewLine; } // check_error = check_error + "- " + "Bitte Unterschrift links und rechts auswählen"; //} if (check_error == "") { return true; } else { return false; } return true; } private bool Check_Signature(int mitarbeiternr) { DB db = new DB(AppParams.connectionstring); try { db.Get_Tabledata("Select tgnummer from mitarbeiter where mitarbeiternr=" + mitarbeiternr.ToString(), false, true); if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "") { return false; } string URL = AppParams.RESTURI + "API/CheckSignature?TGNummer=" + db.dsdaten.Tables[0].Rows[0][0].ToString(); HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest; webRequest.Method = WebRequestMethods.Http.Get; webRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey; try { using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse) { if (response.StatusCode == HttpStatusCode.OK) { StreamReader reader = new StreamReader(response.GetResponseStream()); string responseContent = reader.ReadToEnd(); return true; } else { Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", ""); return false; } } } catch (Exception ex) { return false; } } catch { return false; } finally { db = null; } } public void Update_DocGenData() { docgendata.partnernr = this.partnernr.ToString(); docgendata.inhaberadresse = this.txtPartnerInhaber.Text; docgendata.zustelladresse = this.txtPartnerZusteller.Text; docgendata.anrede = this.txtanrede.Text; docgendata.dokumenttypnr = dokumenttypnr.ToString(); try { docgendata.unterschriftLinks = cbboxunterschriftlinks.SelectedValue.ToString(); } catch { docgendata.unterschriftLinks = ""; } try { docgendata.unterschriftRehts = cbboxunterschriftrechts.SelectedValue.ToString(); } catch { docgendata.unterschriftRehts = ""; } try { if (cbboxunterschriftlinks.Text == "") { docgendata.unterschriftLinks = "-1"; } if (cbboxunterschriftrechts.Text == "") { docgendata.unterschriftRehts = "-1"; } } catch { } if (cbboxunterschriftlinks.Visible == false) { docgendata.unterschriftLinks = "-1"; } if (cbboxunterschriftrechts.Visible ==false) { docgendata.unterschriftRehts = "-1"; } if (cbfaksimile.Checked) { docgendata.digitaleunterschrift = true; } else { docgendata.digitaleunterschrift = false; } if (cbformularohneunterschrfit.Checked) { docgendata.frormularOhneUnterschrift = true; } else { docgendata.frormularOhneUnterschrift = false; } if (lblohneUnterschrift.Visible) { docgendata.frormularOhneUnterschrift = true; } docgendata.verantwortlich = cbboxverantwortlich.SelectedValue.ToString(); docgendata.team = cbboxteam.SelectedValue.ToString(); if (rbzustaendigkube.Checked) { docgendata.zustaendigkube = cbboxzustaendigkube.SelectedValue.ToString(); } else { docgendata.zustaendigmitarbeiter = cbboxzustaendigmitarbeiter.SelectedValue.ToString(); } docgendata.status = " - 1"; docgendata.ersteller = AppParams.CurrentMitarbeiter.ToString(); docgendata.dokumentdatum = DateDokumentDatum.DateTimeText.ToString(); docgendata.bezeichnung = txtbezeichnung.Text; docgendata.erstellungsart = Erstellungsart.DokumentPreview; if (ErstellungInOffice == true) { docgendata.erstellungsart = Erstellungsart.ErstellungInOffice; } if (rbDokumentbearbeiten.Checked) { docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; } if (rbEditlater.Checked) { docgendata.erstellungsart = Erstellungsart.DokumentSpäterBearbeiten; } if (rbasPDF.Checked) { docgendata.erstellungsart = Erstellungsart.DokumentAlsPDF; } if (rbasPDFarchivieren.Checked) { docgendata.erstellungsart = Erstellungsart.DokumentAlsPDFArchivieren; } docgendata.dokumentwerte = gridDokwertlist.DataSource as DataTable; } public void update_dokdata(ref clsDocData dokdata) { if (this.signiert == true) { dokdata.remove_signature = true; } dokdata.PartnerNr = docgendata.partnernr; dokdata.UseEDOKA_Values = "True"; try { dokdata.postzustellung = cbboxpostzustellung.SelectedValue.ToString(); } catch { dokdata.postzustellung = "0"; } if (List_avqref.Count > 0) { dokdata.avq_authl_ref=List_avqref; } dokdata.DokumenttypNr = docgendata.dokumenttypnr; dokdata.Unterschrift_Links = docgendata.unterschriftLinks; dokdata.Unterschrift_Rechts = docgendata.unterschriftRehts; dokdata.Verantwortlich = docgendata.verantwortlich; dokdata.Team = docgendata.team; dokdata.Zustaendig = docgendata.zustaendigkube; if (rbzustaendigkube.Checked) { dokdata.Zustaendig = docgendata.zustaendigkube; } else { dokdata.Zustaendig = docgendata.zustaendigmitarbeiter; } dokdata.Status = docgendata.status; dokdata.Ersteller = docgendata.ersteller; dokdata.DokumentDatum = docgendata.dokumentdatum; dokdata.Bezeichnung = docgendata.bezeichnung; if (docgendata.erstellungsart == Erstellungsart.DokumentAlsPDF) { dokdata.Result_as_PDF = "True"; } else { dokdata.Result_as_PDF = "False"; } if (docgendata.digitaleunterschrift == true) { dokdata.As_Faksimile = "True"; } else { dokdata.As_Faksimile = "False"; } if (docgendata.frormularOhneUnterschrift == true) { dokdata.Form_ohne_Unterschrift = "True"; } else { dokdata.Form_ohne_Unterschrift = "False"; } dokdata.Zustaendig_Kube = "0"; if (this.rbzustaendigkube.Checked) { dokdata.Zustaendig_Kube = "1"; }; dokdata.dokumentwerte = docgendata.dokumentwerte; dokdata.Barcode = barcode; dokdata.VorlageNr = this.vorlagenr.ToString(); dokdata.Kopfzeile_generieren = this.kopfzeile_generieren; dokdata.barcode_zusatz = barcode_zusatz; dokdata.barcode_left = barcode_left; dokdata.barcode_width = barcode_width; dokdata.barcode_top = barcode_top; dokdata.barcode_height = barcode_height; dokdata.barcode_horizontal = barcode_horizontal; dokdata.barcode_font = AppParams.barcodefont; dokdata.barcode_fontsize = Convert.ToInt32(AppParams.barcodefontsize); dokdata.Zusatz_Font = AppParams.ZusatzFont; dokdata.Zusatz_FontSize = Convert.ToInt32(AppParams.ZusatzFontSize); dokdata.barcode_textposition = AppParams.barcodetextposition; dokdata.barcode_type = barcode_type; dokdata.barcode_content = barcode_content; dokdata.Erstellung_in_Office = this.Erstellung_in_Office; dokdata.FillOffice = this.FillOffice; dokdata.CompatibilityMode = this.CompatibilityMode; if (dokdata.Barcode == false && this.bedingt_retournierbar == true) { dokdata.Barcode = true; } if (DateTerminText.Text == "") { dokdata.Termin = "01.01.1900"; } else { dokdata.Termin = DateTerminText.Text; //.ToString DateTermin.Value.ToString(); } dokdata.Bezeichnung = txtbezeichnung.Text.ToString(); dokdata.zustelladresse = docgendata.zustelladresse; dokdata.anrede = docgendata.anrede; dokdata.barcode_zusatz = barcode_zusatz; if (cbfaksimile.Checked) { dokdata.approval1 = 0; dokdata.approval2 = 0; dokdata.toapprove = 1; try { if (cbboxunterschriftlinks.Text == "") { dokdata.approval1 = 1; } else { if (Convert.ToInt32(dokdata.Verantwortlich) == Convert.ToInt32(this.cbboxunterschriftlinks.SelectedValue.ToString())) { dokdata.approval1 = 1; } } } catch { } try { if (cbboxunterschriftrechts.Text == "") { dokdata.approval2 = 1; } else { if (Convert.ToInt32(dokdata.Verantwortlich) == Convert.ToInt32(this.cbboxunterschriftrechts.SelectedValue.ToString())) { dokdata.approval2 = 1; } } } catch { } if (dokdata.approval1 == 1 && dokdata.approval2 == 1) { dokdata.approved = 1; dokdata.signiert = false; dokdata.sign = true; } } } private void sfButton1_Click(object sender, EventArgs e) { set_personendokument(); show_partnerdialog(); } private void show_partnerdialog() { Partnersuche ps = new Partnersuche(personendokument, true, bpdokument, dokumenttypnr); ps.ShowDialog(); if (ps.DialogResult == DialogResult.OK) { this.partnernr = ps.partnernr; if (ps.bpperson_changed) { lblPartner.ForeColor = System.Drawing.Color.Blue; } else { lblPartner.ForeColor = System.Drawing.Color.Black; } update_partner(); } } private void UCAllgemeineDokumentParam_Load(object sender, EventArgs e) { } private void gridDokwertlist_CellDoubleClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { try { //if (e.DataColumn.ColumnIndex != 15) { return; } var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; string datenherkunft = dataRow["datenherkunft"].ToString(); string feldtyp = dataRow["feldtyp"].ToString(); if (datenherkunft != "") { dataRow["feldwert"] = data_select(datenherkunft, feldtyp); gridDokwertlist.Refresh(); } } catch { } } private string data_select(string datenherkunft, string feldtyp) { try { if (datenherkunft == "" || datenherkunft == "&Freitext&") { return ""; } switch (feldtyp.ToUpper()) { case "DATUMSHORT": case "DATUMMEDIUM": case "DATUMLONG": valueselector f = new valueselector(true); f.ShowDialog(); string res = ""; if (f.DialogResult == DialogResult.OK) { if (feldtyp.ToUpper() == "DATUMSHORT") { res = Helper.ConvertHelper.Datum(Convert.ToDateTime(f.selected_datetime), Helper.ConvertHelper.DateTimeFormat.datumshort); } if (feldtyp.ToUpper() == "DATUMMEDIUM") { res = Helper.ConvertHelper.Datum(Convert.ToDateTime(f.selected_datetime), Helper.ConvertHelper.DateTimeFormat.datummedium); } if (feldtyp.ToUpper() == "DATUMLONG") { res = Helper.ConvertHelper.Datum(Convert.ToDateTime(f.selected_datetime), Helper.ConvertHelper.DateTimeFormat.datummedium); } } f.Dispose(); return res; break; case "TEXT": if (datenherkunft.Substring(0, 1) != "&") { return ""; } if (datenherkunft.Length >= 8 && datenherkunft.Substring(0, 8).ToUpper() == "&PARTNER") { Partnersuche p = new Partnersuche(); p.ShowDialog(); if (p.partnernr != 0) { return p.partnernr.ToString() + "-" + p.partnerkurzname; } else { return ""; } } valueselector vs = new valueselector(); if (datenherkunft.ToUpper() == "&SekPartnerVV&") { var records = gridDokwertlist.View.Records; string s = ""; foreach (var record in records) { var dataRowView = record.Data as DataRowView; if (dataRowView != null) { var selectedValue = dataRowView.Row["datenherkunft"]; if (selectedValue == "&Partner&") { s = ""; s = dataRowView.Row["feldwert"].ToString(); int ii = 0; ii = s.IndexOf("-") - 1; if (ii < 1) return ""; } } } vs.partnernr = s.Substring(0, s.IndexOf("-") - 1); } if (datenherkunft.ToUpper() == "&TerPartnerVV&") { var records = gridDokwertlist.View.Records; string s = ""; foreach (var record in records) { var dataRowView = record.Data as DataRowView; if (dataRowView != null) { var selectedValue = dataRowView.Row["datenherkunft"]; if (selectedValue == "&Partner3&") { s = ""; s = dataRowView.Row["feldwert"].ToString(); int ii = 0; ii = s.IndexOf("-") - 1; if (ii < 1) return ""; } } } vs.partnernr = s.Substring(0, s.IndexOf("-") - 1); vs.load_data(); vs.ShowDialog(); } vs.datenherkunft = datenherkunft; vs.partnernr = this.partnernr.ToString(); vs.load_data(); vs.ShowDialog(); if (vs.DialogResult == DialogResult.OK) { return vs.selected_value; } break; default: return ""; break; } return ""; } catch { return ""; } } private void btnErneutGenerierung_Click(object sender, EventArgs e) { Broadcaster().Broadcast("DokumentPaket", new SenderInfo("NeuGenerierung", "NeuGenerierung", genertated_dokumentid)); } private void btnGenerieren_Click(object sender, EventArgs e) { Broadcaster().Broadcast("DokumentPaket", new SenderInfo("NeuGenerierung", "Generierung", dokumenttypnr.ToString())); } public void Show_Neugenerieren() { btnErneutGenerierung.Visible = true; } private void rbzustaendigkube_CheckedChanged(object sender, EventArgs e) { cbboxzustaendigkube_SelectedIndexChanged(sender, e); } private void button1_Click(object sender, EventArgs e) { PartnerDetails pd = new PartnerDetails(this.partnernr, true); pd.ShowDialog(); if (pd.DialogResult == DialogResult.OK) { this.txtPartnerZusteller.Text = pd.selectedadresse; this.txtanrede.Text = pd.selectedanrede; } } private void btneditadresse_Click(object sender, EventArgs e) { InputDialog id = new InputDialog("Zustelladresse", "Zustelladresse ändern", this.txtPartnerZusteller.Text, true); id.ShowDialog(); if (id.DialogResult == DialogResult.OK) { this.txtPartnerZusteller.Text = id.result; } } private void cbboxzustaendigkube_SelectedIndexChanged(object sender, EventArgs e) { if (rbzustaendigkube.Checked) { Refresh_Team(Convert.ToInt32(cbboxzustaendigkube.SelectedValue)); } else { Refresh_Team(0); } } private void cbboxzustaendigmitarbeiter_SelectedIndexChanged(object sender, EventArgs e) { cbboxzustaendigkube_SelectedIndexChanged(sender, e); } private void gridDokwertlist_CurrentCellEndEdit(object sender, Syncfusion.WinForms.DataGrid.Events.CurrentCellEndEditEventArgs e) { try { DataRowView x = (e.DataRow.RowData as DataRowView); if (x["Validierungsregel"].ToString() != "") { DB db = new DB(AppParams.connectionstring); db.clear_parameter(); db.add_parameter("@FeldwertIn", x["Feldwert"].ToString()); db.add_parameter("@Validierungsregel", x["Validierungsregel"].ToString()); db.Get_Tabledata("OnDoc_sp_dokumentfeldwert_validate", true, false); if (db.dsdaten.Tables[0].Rows.Count > 0) { MessageBox.Show(db.dsdaten.Tables[0].Rows[0][0].ToString(), "Wertprüfung", MessageBoxButtons.OK, MessageBoxIcon.Error); } db = null; } } catch { } } private void DateTermin_ValueChanged(object sender, Syncfusion.WinForms.Input.Events.DateTimeValueChangedEventArgs e) { this.DateTerminText.Text = DateTermin.Value.ToString().Substring(0, 10); } private void gridDokwertlist_DoubleClick(object sender, EventArgs e) { } private void gridDokwertlist_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { try { if (e.DataColumn.ColumnIndex != 15) { return; } var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; string datenherkunft = dataRow["datenherkunft"].ToString(); string feldtyp = dataRow["feldtyp"].ToString(); if (datenherkunft != "") { dataRow["feldwert"] = data_select(datenherkunft, feldtyp); gridDokwertlist.Refresh(); } } catch { } } public void load_doc() { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from dokument where dokumentid='" + this.dokumentid + "'", false, true); System.Data.DataRow dr = db.dsdaten.Tables[0].Rows[0]; this.partnernr = Convert.ToInt32(dr["nrpar00"]); this.dokumenttypnr = Convert.ToInt32(dr["dokumenttypnr"]); Refresh_Details(); this.cbboxpostzustellung.SelectedValue = Convert.ToInt32(dr["postzustellung"]); this.cbboxunterschriftlinks.SelectedValue = Convert.ToInt32(dr["unterschriftlinks"]); this.cbboxunterschriftrechts.SelectedValue = Convert.ToInt32(dr["unterschriftrechts"]); if (Convert.ToInt32(dr["zustaendig_kube"]) > 0) { rbzustaendigkube.Checked = true; rbzustaendigmitarbeiter.Checked = false; cbboxzustaendigkube.SelectedValue = Convert.ToInt32(dr["zustaendiger"]); } else { rbzustaendigmitarbeiter.Checked = true; rbzustaendigkube.Checked = false; cbboxzustaendigmitarbeiter.SelectedValue = Convert.ToInt32(dr["zustaendiger"]); } this.txtbezeichnung.Text = dr["bezeichnung"].ToString(); this.cbboxverantwortlich.SelectedValue = Convert.ToInt32(dr["verantwortlich"]); this.txtanrede.Text = dr["anredezustelladresse"].ToString(); this.cbboxpostzustellung.SelectedValue = Convert.ToInt32(dr["postzustellung"]); this.DateDokumentDatum.Value = Convert.ToDateTime(dr["erstellungsdatum"]); if (Convert.ToDateTime(dr["termin"]).Year < 2000) { this.DateTerminText.Text = ""; } else { this.DateTerminText.Text = Convert.ToDateTime(dr["termin"]).ToString(); this.DateTerminText.Text = this.DateTerminText.Text.Substring(0, 10); } this.signiert = Convert.ToBoolean(dr["signiert"]) == true; this.cbfaksimile.Checked = Convert.ToBoolean(dr["faksimile"]) == true; if (dr["zustelladresse"].ToString() != "") this.txtPartnerZusteller.Text = dr["zustelladresse"].ToString(); Get_DokWertList(ref db, dokumentid, 0); db = null; } private void DateDokumentDatum_DropDownOpening(object sender, CancelEventArgs e) { DateDokumentDatum.MonthCalendar.FirstDayOfWeek = DayOfWeek.Monday; } private void DateTermin_DropDownOpening(object sender, CancelEventArgs e) { DateTermin.MonthCalendar.FirstDayOfWeek=DayOfWeek.Monday; } } }