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 Syncfusion.WinForms.Controls.Styles; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.DataGrid; using Syncfusion.WinForms.DataGrid.Interactivity; using OnDoc.Klassen; using System.Data.SqlClient; using Database; using System.Threading; using static System.Net.Mime.MediaTypeNames; using System.IO; using System.Net; using Windows.System.Update; using Syncfusion.Windows.Forms; using OnDoc.Helper; using Windows.Phone.ApplicationModel; using System.Net.Http; using Syncfusion.Office; using Newtonsoft.Json; using Windows.UI; using System.Security.Cryptography; using Windows.UI.Core.Preview; namespace OnDoc.Diverses { public partial class MitarbeiterProfil : SfForm { private int mitarbeiternr = 0; private bool onLoad = true; private string tgnummer = ""; private string temppassword = ""; public MitarbeiterProfil() { InitializeComponent(); } public MitarbeiterProfil(int Mitarbeiternr) { InitializeComponent(); mitarbeiternr = Mitarbeiternr; } public void hide_versandstrasse() { this.ribbonTab3.Visible = false; } private void MitarbeiterProfil_Load(object sender, EventArgs e) { refresh_profile(); ribbonTab1_ActiveChanged(sender, e); refresh_unterschriften_team(); onLoad = false; lbprofile.SelectedIndex = 0; lbprofile_SelectedValueChanged(sender, e); sign1.PenWidth = Convert.ToInt32(AppParams.SignatureWidth); var arrColorFragments = AppParams.SignatureColor.Split(',').Select(sFragment => { int.TryParse(sFragment, out int fragment); return fragment; }).ToArray(); sign1.PenColor = System.Drawing.Color.FromArgb(arrColorFragments[0], arrColorFragments[1], arrColorFragments[2]); btnSaveForUser.Visible = false; if (AppParams.SignaturePassword.ToString().Trim() != "") { btnSaveForUser.Visible = true; } if (AppParams.SignaturePassword.ToString() != "") { button1.Visible = false; button3.Visible = true; } else { button1.Visible = true; button3.Visible = false; } load_adressen(); } private void refresh_profile() { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from profil where aktiv=1 and mitarbeiternr=" + mitarbeiternr.ToString(), false, true); lbprofile.DataSource = db.dsdaten.Tables[0]; lbprofile.DisplayMember = "Bezeichnung"; lbprofile.ValueMember = "profilnr"; db = null; } private void refresh_unterschriften_team() { DB db = new DB(AppParams.connectionstring); db.clear_parameter(); db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false); cbboxUnterschriftLinks.DataSource = db.dsdaten.Tables[0]; cbboxUnterschriftLinks.DisplayMember = "name"; cbboxUnterschriftLinks.ValueMember = "mitarbeiternr"; cbboxUnterschriftRechts.DataSource = db.dsdaten.Tables[0]; cbboxUnterschriftRechts.DisplayMember = "name"; cbboxUnterschriftRechts.ValueMember = "mitarbeiternr"; db.clear_parameter(); db.add_parameter("@profilnr", 0.ToString()); db.add_parameter("@mitarbeiternr", mitarbeiternr.ToString()); db.Get_Tabledata("sp_dokumentbearbeitung_team", true, false); cbboxTeam.DataSource = null; cbboxTeam.DataSource = db.dsdaten.Tables[0]; cbboxTeam.ValueMember = "teamnr"; cbboxTeam.DisplayMember = "bezeichnung"; db = null; } private void RibbonButtonExit_Click(object sender, EventArgs e) { this.Close(); } private void lbprofile_SelectedValueChanged(object sender, EventArgs e) { if (onLoad) { return; } try { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from profil where profilnr=" + lbprofile.SelectedValue, false, true); cbboxUnterschriftLinks.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Unterschriftlinks"].ToString()); cbboxUnterschriftRechts.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Unterschriftrechts"].ToString()); cbboxTeam.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["team"].ToString()); cbStandard.Checked = db.dsdaten.Tables[0].Rows[0]["standard"].ToString() == "True"; txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0]["bezeichnung"].ToString(); db = null; } catch { } } private void btnSave_Click(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); if (cbStandard.Checked) { db.Exec_SQL("Update profil set standard=0 where mitarbeiternr=" + mitarbeiternr.ToString()); db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "', unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " ,standard=1 where profilnr=" + lbprofile.SelectedValue.ToString()); } db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "',unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " where profilnr=" + lbprofile.SelectedValue.ToString()); db = null; } private void ribbonButtonSave_Click(object sender, EventArgs e) { int saveselected = Convert.ToInt32(lbprofile.SelectedValue); DB db = new DB(AppParams.connectionstring); if (cbStandard.Checked) { db.Exec_SQL("Update profil set standard=0 where mitarbeiternr=" + mitarbeiternr.ToString()); db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "', unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " ,standard=1 where profilnr=" + lbprofile.SelectedValue.ToString()); } db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "',unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " where profilnr=" + lbprofile.SelectedValue.ToString()); //db.Exec_SQL("Update mitarbeiter set name='" + txtName.Text + "', vorname='" + txtVorname.Text + "', email='" + txtmail.Text + "', telefon='" + txttelefon.Text + "' where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString()); //db.Exec_SQL("Update mitarbeiter set fax='" + txtfax.Text + "', unterschrift_text='" + txtunterschrift.Text + "', funktion='" + txtfunktion.Text + "', mutiert_am=getdate(), mutierer=" + AppParams.CurrentMitarbeiter.ToString() + " where mitarbeiternr = " + AppParams.CurrentMitarbeiter.ToString()); db = null; refresh_profile(); lbprofile.SelectedValue = saveselected; } private void ribbonButtonDelete_Click(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); if (cbStandard.Checked) { MessageBox.Show("Das Standardprofil kann nicht gelöscht werden.", "Profil löschen", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { db.Exec_SQL("Update profil set aktiv=0 where profilnr=" + lbprofile.SelectedValue.ToString()); } db = null; refresh_profile(); lbprofile.SelectedIndex = 0; } private void ribbonButtonNew_Click(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from profil where profilnr=0", false, true); int newkey = Convert.ToInt32(db.get_dbkey("Profil").ToString()); db.dsdaten.Tables[0].Rows[0]["PROFILnr"] = newkey; db.dsdaten.Tables[0].Rows[0]["Mitarbeiternr"] = AppParams.CurrentMitarbeiter; db.dsdaten.Tables[0].TableName = "Profil"; var res = db.InsertDataRow(db.dsdaten.Tables[0].Rows[0], AppParams.connectionstring); //SqlCommand sqlq = db.CreateInsertCommand(db.dsdaten.Tables[0].Rows[0]); //db.InsertDataRow(sqlq); //string sql1 = db.BuildAllFieldsSQL(db.dsdaten.Tables[0]); //MessageBox.Show(sql1); //string sql = db.BuildInsertSQL(db.dsdaten.Tables[0]); //MessageBox.Show(sql); //db.Exec_SQL(sql); db = null; ; refresh_profile(); lbprofile.SelectedValue = newkey; } private void ribbonButtonNew_DoubleClick(object sender, EventArgs e) { } private void MitarbeiterProfil_Activated(object sender, EventArgs e) { } private void ribbonTab1_ActiveChanged(object sender, EventArgs e) { GrpBoxProfile.Dock = DockStyle.Left; GrpBoxProfile.Visible = true; GrpBoxDetails.Dock = DockStyle.Fill; GrpBoxDetails.Visible = true; GrpBoxMitarbeiter.Visible = false; GrpGAS.Visible = false; } private void ribbonTab2_ActiveChanged(object sender, EventArgs e) { GrpBoxProfile.Visible = false; GrpBoxDetails.Visible = false; GrpGAS.Visible = false; GrpBoxMitarbeiter.Visible = true; GrpBoxMitarbeiter.Dock = DockStyle.Fill; DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("select * from mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString(), false, true); if (db.dsdaten.Tables[0].Rows.Count > 0) { try { tgnummer = db.dsdaten.Tables[0].Rows[0]["tgnummer"].ToString(); string unterschrift = get_unterschrift(db.dsdaten.Tables[0].Rows[0]["tgnummer"].ToString()); string ss = Newtonsoft.Json.JsonConvert.DeserializeObject(unterschrift); MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss)); System.Drawing.Image img = System.Drawing.Image.FromStream(mssign); pictureBox1.Image = img; mssign.Close(); mssign.Dispose(); } catch { } txtName.Text = db.dsdaten.Tables[0].Rows[0]["name"].ToString(); txtVorname.Text = db.dsdaten.Tables[0].Rows[0]["vorname"].ToString(); txtmail.Text = db.dsdaten.Tables[0].Rows[0]["email"].ToString(); txttelefon.Text = db.dsdaten.Tables[0].Rows[0]["telefon"].ToString(); txtfax.Text = db.dsdaten.Tables[0].Rows[0]["fax"].ToString(); txtunterschrift.Text = db.dsdaten.Tables[0].Rows[0]["unterschrift_text"].ToString(); txtfunktion.Text = db.dsdaten.Tables[0].Rows[0]["funktion"].ToString(); chkOndocMails.Checked = Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["mailempfang"]) == true; db = null; // System.Drawing.Image image = System.Drawing.Image.FromFile(@"E:\Software-Projekte\OnDoc\Images\download.png"); //this.pictureBox1.Image = image; } } private string get_unterschrift(string MaNr) { string URL = AppParams.RESTURI + "API/GetUnterschriftAsBase64ByMitarbeiternr?MaNr=" + AppParams.CurrentMitarbeiter.ToString() + "&ImageWith=-1"; 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 responseContent; } else { Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", ""); return ""; } } } catch (Exception ex) { return ""; } } protected bool validData; string path; protected System.Drawing.Image image; protected Thread getImageThread; private void pictureBox1_DragEnter(object sender, DragEventArgs e) { string filename; validData = GetFilename(out filename, e); if (validData) { path = filename; getImageThread = new Thread(new ThreadStart(LoadImage)); getImageThread.Start(); e.Effect = DragDropEffects.Copy; } else e.Effect = DragDropEffects.None; } private bool GetFilename(out string filename, DragEventArgs e) { bool ret = false; filename = String.Empty; if ((e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy) { Array data = ((IDataObject)e.Data).GetData("FileDrop") as Array; if (data != null) { if ((data.Length == 1) && (data.GetValue(0) is String)) { filename = ((string[])data)[0]; string ext = System.IO.Path.GetExtension(filename).ToLower(); if ((ext == ".jpg") || (ext == ".png") || (ext == ".bmp")) { ret = true; } } } } return ret; } protected void LoadImage() { image = new Bitmap(path); } private void pictureBox1_DragDrop(object sender, DragEventArgs e) { { if (validData) { while (getImageThread.IsAlive) { System.Windows.Forms.Application.DoEvents(); Thread.Sleep(0); } pictureBox1.Image = image; } } } private void RibbonMitarbeiterButtonSave_Click(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); db.Exec_SQL("Update mitarbeiter set name='" + txtName.Text + "', vorname='" + txtVorname.Text + "', email='" + txtmail.Text + "', telefon='" + txttelefon.Text + "' where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString()); db.Exec_SQL("Update mitarbeiter set fax='" + txtfax.Text + "', unterschrift_text='" + txtunterschrift.Text + "', funktion='" + txtfunktion.Text + "', mutiert_am=getdate(), mutierer=" + AppParams.CurrentMitarbeiter.ToString() + " where mitarbeiternr = " + AppParams.CurrentMitarbeiter.ToString()); int mailempfang = 0; if (chkOndocMails.Checked) { mailempfang = 1; } db.Exec_SQL("Update mitarbeiter set mailempfang=" + mailempfang.ToString() + " where mitarbeiternr = " + AppParams.CurrentMitarbeiter.ToString()); db = null; } private void btnDeleteImage_Click(object sender, EventArgs e) { sign1.ClearSignature(); } private void btnSaveSignature_Click(object sender, EventArgs e) { if (sign1.IsValid) { string filename = AppParams.tempdir + AppParams.currenttgnummer + ".jpg"; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } if (MessageBox.Show("Unterschrif-Bild speichern ('" + AppParams.currenttgnummer + ".jpg') ?", "Unterschrift speichern", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { sign1.SignatureBitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg); //FileStream fs = new FileStream(filename, FileMode.Open); // upload_img(fs, filename, AppParams.currenttgnummer); FileHelper fh = new FileHelper(); string userimage = fh.Base64FromFile(filename); upload_image(userimage, AppParams.currenttgnummer); sign1.ClearSignature(); GrpGetSignature.Visible = false; string unterschrift = get_unterschrift(this.tgnummer); string ss = Newtonsoft.Json.JsonConvert.DeserializeObject(unterschrift); MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss)); System.Drawing.Image img = System.Drawing.Image.FromStream(mssign); pictureBox1.Image = img; mssign.Close(); mssign.Dispose(); } } } public class imageclass { public string tgnummer { get; set; } public string b64 { get; set; } } private void upload_image(string unterschrift, string tgnummer) { Logging.Logging.Debug("Start Save Image", "OnDoc", ""); string URL = AppParams.RESTURI + "API/SaveSignature"; string response; imageclass ic = new imageclass(); ic.tgnummer = tgnummer; ic.b64 = unterschrift; string jsonstring = JsonConvert.SerializeObject(ic); WebRequest request; var data = Encoding.UTF8.GetBytes(jsonstring); request = WebRequest.Create(URL); request.ContentLength = data.Length; request.ContentType = "application/json"; request.Method = "POST"; request.Headers["Authorization"] = "Bearer " + AppParams.apikey; try { Logging.Logging.Debug("Upload Signature " + tgnummer, "OnDoc", ""); using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(data, 0, data.Length); requestStream.Close(); using (Stream responseStream = request.GetResponse().GetResponseStream()) { using (var reader = new StreamReader(responseStream)) { response = reader.ReadToEnd(); } } } return; } catch (Exception ex) { Logging.Logging.Debug("Upload Signature failed:" + ex.Message, "OnDoc", ""); return; } } private void button3_Click(object sender, EventArgs e) { GrpGetSignature.Visible = false; } private void button2_Click(object sender, EventArgs e) { if (AppParams.SignApp != "") { System.Diagnostics.Process.Start(AppParams.SignApp); } else { GrpGetSignature.Visible = true; } } private void label15_Click(object sender, EventArgs e) { GrpGetSignature.Visible = false; } private void btnSaveForUser_Click(object sender, EventArgs e) { if (temppassword == "") { InputDialog id = new InputDialog("Passwort", "Passwort eingeben", "", false); id.ShowDialog(); if (id.DialogResult == DialogResult.OK) { { if (id.result == AppParams.SignaturePassword) { temppassword = id.result; } else { MessageBox.Show("Paasswort ist ungültig.", "Passwortabfrage", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } else { return; } id.Dispose(); } string tgnummer = ""; InputDialog inputtg = new InputDialog("Unterschrift Speichern: Bitte TG-Nummer eingeben", "TGNummer", "", false); inputtg.ShowDialog(); if (inputtg.DialogResult == DialogResult.OK) { tgnummer = inputtg.result; DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from mitarbeiter where tgnummer='" + inputtg.result + "'", false, true); if (db.dsdaten.Tables[0].Rows.Count == 0) { MessageBox.Show("Benutzer mit TG-Nummer '" + tgnummer + "' ist nicht vorhanden", "Falsche TG-Nummer", MessageBoxButtons.OK, MessageBoxIcon.Error); db = null; return; } string s = db.dsdaten.Tables[0].Rows[0]["TGNummer"].ToString()+" - "; s = s+ db.dsdaten.Tables[0].Rows[0]["Name"].ToString()+" "; s = s + db.dsdaten.Tables[0].Rows[0]["Vorname"].ToString(); if (MessageBox.Show("Unterschriften-Bild für " + s + " speichern?", "Unterschrift speichern", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { db = null; return; } db = null; tgnummer = inputtg.result; } if (sign1.IsValid) { string filename = AppParams.tempdir + tgnummer + ".jpg"; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } sign1.SignatureBitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg); FileHelper fh = new FileHelper(); string userimage = fh.Base64FromFile(filename); upload_image(userimage, tgnummer); sign1.ClearSignature(); MessageBox.Show("Unterschrift erfolgreich gespeichert", "Unterschrift speichern", MessageBoxButtons.OK, MessageBoxIcon.Information); Logging.Logging.Info("Unterschrift von "+AppParams.currenttgnummer+" für " + tgnummer+" hochgeladen","OnDoc",""); System.IO.File.Delete(filename); } } private void load_adressen() { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select * from Antwortadresse order by bezeichnung", false, true); foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows) { TreeNodeAdv node = new TreeNodeAdv(); node.Text = dr["bezeichnung"].ToString(); node.TagObject = dr; treeViewAdvAdresse.Nodes.Add(node); } treeViewAdvAdresse.SelectedNode = treeViewAdvAdresse.Nodes[0]; db.Get_Tabledata("Select * from Antwortadresse_Mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString() + " order by reihenfolge",false,true); foreach(System.Data.DataRow dr in db.dsdaten.Tables[0].Rows) { TreeNodeAdv node = new TreeNodeAdv(); node.Text = dr["bezeichnung"].ToString(); node.TagObject = dr; TreeViewADVPersadresse.Nodes.Add(node); } db = null; } private void treeViewAdvAdresse_DoubleClick(object sender, EventArgs e) { TreeNodeAdv tn = treeViewAdvAdresse.SelectedNode; tn.Tag = "Standard"; TreeViewADVPersadresse.Nodes.Add(tn); } private void btnSavePersAdressen_Click(object sender, EventArgs e) { DB db = new DB(AppParams.connectionstring); DB db1 = new DB(AppParams.connectionstring); db.Exec_SQL("Delete from antwortadresse_mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString()); int sort = 0; db.Get_Tabledata_for_Update("Select * from antwortadresse_mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString(), false, true); foreach (TreeNodeAdv tn in TreeViewADVPersadresse.Nodes) { System.Data.DataRow dr = db.daten.Tables[0].NewRow(); dr["tgnummer"] = AppParams.currenttgnummer; dr["mitarbeiternr"] = AppParams.CurrentMitarbeiter; dr["erstellt_am"] = DateTime.Now; dr["mutiert_am"] = DateTime.Now; dr["reihenfolge"] = sort; dr["mutierer"] = AppParams.CurrentMitarbeiter; dr["aktiv"] = true; sort = sort + 1; if (tn.Tag == "Standard") { System.Data.DataRow adr = tn.TagObject as System.Data.DataRow; db1.Get_Tabledata("Select * from antwortadresse where id=" + adr["id"].ToString(), false, true); dr["bezeichnung"] = tn.Text; dr["Zeile1"] = db1.dsdaten.Tables[0].Rows[0]["Zeile1"].ToString(); dr["Zeile2"] = db1.dsdaten.Tables[0].Rows[0]["Zeile2"].ToString(); dr["Zeile3"] = db1.dsdaten.Tables[0].Rows[0]["Zeile3"].ToString(); dr["Zeile4"] = db1.dsdaten.Tables[0].Rows[0]["Zeile4"].ToString(); dr["Zeile5"] = db1.dsdaten.Tables[0].Rows[0]["Zeile5"].ToString(); dr["Zeile6"] = db1.dsdaten.Tables[0].Rows[0]["Zeile6"].ToString(); dr["Zeile7"] = ""; dr["standardadresse"] = adr["id"]; } else { dr["standardadresse"] = 0; System.Data.DataRow adr = tn.TagObject as System.Data.DataRow; dr["bezeichnung"] = tn.Text; dr["Zeile1"] = adr["Zeile1"].ToString(); dr["Zeile2"] = adr["Zeile2"].ToString(); dr["Zeile3"] = adr["Zeile3"].ToString(); dr["Zeile4"] = adr["Zeile4"].ToString(); dr["Zeile5"] = adr["Zeile5"].ToString(); dr["Zeile6"] = adr["Zeile6"].ToString(); dr["Zeile7"] = adr["Zeile7"].ToString(); } db.daten.Tables[0].Rows.Add(dr); } db.Update_Data(); db = null; db1 = null; } private void btnNewPersAddr_Click(object sender, EventArgs e) { panelpersadresse.Visible = true; textBox8.Focus(); } private void btnCancelPersAddr_Click(object sender, EventArgs e) { panelpersadresse.Visible = false; } private void btnSavePersAddr_Click(object sender, EventArgs e) { if (editadress) { System.Data.DataRow dr1 = TreeViewADVPersadresse.SelectedNode.TagObject as System.Data.DataRow; dr1["bezeichnung"] = textBox8.Text; dr1["zeile1"] = textBox1.Text; dr1["zeile2"] = textBox2.Text; dr1["zeile3"] = textBox3.Text; dr1["zeile4"] = textBox4.Text; dr1["zeile5"] = textBox5.Text; dr1["zeile6"] = textBox6.Text; dr1["zeile7"] = textBox7.Text; TreeViewADVPersadresse.SelectedNode.Text=textBox8.Text; TreeViewADVPersadresse.SelectedNode.TagObject = dr1; panelpersadresse.Visible = false; TreeViewADVPersadresse_AfterSelect(sender, e); editadress = false; return; } DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select top 1 * from antwortadresse_mitarbeiter where id=-1", false, true); System.Data.DataRow dr = db.dsdaten.Tables[0].NewRow(); dr["tgnummer"] = AppParams.currenttgnummer; dr["mitarbeiternr"] = AppParams.CurrentMitarbeiter; dr["standardadresse"] = 0; dr["reihenfolge"] = 0; dr["bezeichnung"] = textBox8.Text; dr["zeile1"] = textBox1.Text; dr["zeile2"] = textBox2.Text; dr["zeile3"] = textBox3.Text; dr["zeile4"] = textBox4.Text; dr["zeile5"] = textBox5.Text; dr["zeile6"] = textBox6.Text; dr["zeile7"] = textBox7.Text; TreeNodeAdv tnnew = new TreeNodeAdv(); tnnew.Text = dr["bezeichnung"].ToString(); tnnew.TagObject = dr; TreeViewADVPersadresse.Nodes.Add(tnnew); db = null; panelpersadresse.Visible = false; } private void adresseLöschenToolStripMenuItem_Click(object sender, EventArgs e) { try { TreeViewADVPersadresse.SelectedNode.Remove(); } catch { } } private void treeViewAdvAdresse_Click(object sender, EventArgs e) { } private void TreeViewADVPersadresse_Click(object sender, EventArgs e) { } private void TreeViewADVPersadresse_AfterSelect(object sender, EventArgs e) { try { System.Data.DataRow dr = TreeViewADVPersadresse.SelectedNode.TagObject as System.Data.DataRow; txtadresse.Text = ""; txtadresse.Text = dr["zeile1"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile2"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile3"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile4"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile5"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile6"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile7"].ToString() + Environment.NewLine; } catch { } } private void treeViewAdvAdresse_AfterSelect(object sender, EventArgs e) { try { System.Data.DataRow dr = treeViewAdvAdresse.SelectedNode.TagObject as System.Data.DataRow; txtadresse.Text = ""; txtadresse.Text = dr["zeile1"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile2"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile3"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile4"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile5"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile6"].ToString() + Environment.NewLine; txtadresse.Text = txtadresse.Text + dr["zeile7"].ToString() + Environment.NewLine; } catch { } } private void persönlicheAdresseErstellenToolStripMenuItem_Click(object sender, EventArgs e) { try { System.Data.DataRow dr = treeViewAdvAdresse.SelectedNode.TagObject as System.Data.DataRow; textBox8.Text = "*** neue Adresse ***"; textBox1.Text = dr["zeile1"].ToString(); textBox2.Text = dr["zeile2"].ToString(); textBox3.Text = dr["zeile3"].ToString(); textBox4.Text = dr["zeile4"].ToString(); textBox5.Text = dr["zeile5"].ToString(); textBox6.Text = dr["zeile6"].ToString(); textBox7.Text = ""; panelpersadresse.Visible = true; } catch { } } private void MoveNode(bool moveUp) { TreeNodeAdv selectedNode = TreeViewADVPersadresse.SelectedNode; if (selectedNode == null || selectedNode.Parent == null) return; TreeNodeAdvCollection parentNodes = selectedNode.Parent.Nodes; int index = parentNodes.IndexOf(selectedNode); if (moveUp && index > 0) { // Verschiebe nach oben parentNodes.RemoveAt(index); parentNodes.Insert(index - 1, selectedNode); TreeViewADVPersadresse.SelectedNode = selectedNode; } else if (!moveUp && index < parentNodes.Count - 1) { // Verschiebe nach unten parentNodes.RemoveAt(index); parentNodes.Insert(index + 1, selectedNode); TreeViewADVPersadresse.SelectedNode = selectedNode; } } private void TreeViewADVPersadresse_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Down: if (e.Control) { MoveNode(false); // MoveNodeDown(treeViewAdv2.SelectedNode); } break; case Keys.Up: if (e.Control) { MoveNode(true); // MoveNodeUp(treeViewAdv2.SelectedNode); } break; } } private bool editadress = false; private void adresseBearbeitenToolStripMenuItem_Click(object sender, EventArgs e) { try { editadress = true; System.Data.DataRow dr = TreeViewADVPersadresse.SelectedNode.TagObject as System.Data.DataRow; textBox8.Text = TreeViewADVPersadresse.SelectedNode.Text; textBox1.Text = dr["zeile1"].ToString(); textBox2.Text = dr["zeile2"].ToString(); textBox3.Text = dr["zeile3"].ToString(); textBox4.Text = dr["zeile4"].ToString(); textBox5.Text = dr["zeile5"].ToString(); textBox6.Text = dr["zeile6"].ToString(); textBox7.Text = ""; panelpersadresse.Visible = true; }catch { } } private void ribbonTab3_ActiveChanged(object sender, EventArgs e) { GrpBoxProfile.Visible = false; GrpBoxDetails.Visible = false; GrpBoxMitarbeiter.Visible = false; GrpGAS.Visible = true; } private void button3_Click_1(object sender, EventArgs e) { string unterschrift = get_unterschrift(this.tgnummer); string ss = Newtonsoft.Json.JsonConvert.DeserializeObject(unterschrift); MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss)); System.Drawing.Image img = System.Drawing.Image.FromStream(mssign); pictureBox1.Image = img; mssign.Close(); mssign.Dispose(); } } }