using OnDoc.Helper; 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.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Database; using DOCGEN; using System.IO; using Model; using Helper; using System.Web; using static Syncfusion.Windows.Forms.Tools.NavigationView; using System.Net; using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel; using System.Security.Policy; using edoka_dms; using Microsoft.Office.Interop.Word; using System.Diagnostics; using Syncfusion.WinForms.DataGrid.Events; using Syncfusion.WinForms.DataGrid; using DOCGEN.Generator; using OnDoc.DocMgmt; using OnDoc.UIControls.Administrator; using Syncfusion.WinForms.ListView; using OnDoc.Diverses; using OnDoc.UIControls; using BroadcastListener.Interfaces; using static BroadcastListener.Classes.Factory; using BroadcastListener.Classes; using System.Resources; using NLog.Config; using OnDoc.Versandstrasse; using System.Data.SqlClient; using Windows.ApplicationModel.VoiceCommands; using Syncfusion.Windows.Forms; using System.Runtime.Remoting.Messaging; using Syncfusion.WinForms.DataGrid.Enums; using System.Security.Cryptography; using Syncfusion.WinForms.DataGrid.Renderers; using Syncfusion.WinForms.DataGrid.Styles; using Syncfusion.Data; using Syncfusion.WinForms.Input; using Syncfusion.Windows.Forms.CellGrid.ScrollAxis; using Syncfusion.Windows.Forms.Edit.Utils; using Syncfusion.WinForms.DataGrid.Serialization; using NLog.LayoutRenderers; using Syncfusion.Windows.Forms.PivotAnalysis; using System.Xml.Linq; using Syncfusion.Windows.Forms.Chart; namespace OnDoc.UICintrols { public partial class DokList : UserControl, IMessageListener1 { public int partnernr { get; set; } = 0; public int personnr { get; set; } = 0; public string personbezeichnung { get; set; } = ""; public int forMaNr { get; set; } = 0; public int docartnr { get; set; } public int profilnr { get; set; } public int mitarbeiternr { get; set; } public string selected_dokumentid { get; set; } public string selected_partnernr { get; set; } public string selected_cellvalue { get; set; } private string vorschauposition = ""; private bool Separate_Vorschau_offen = false; public string datafilter { get; set; } = ""; public bool interop { get; set; } = false; public bool runmacros { get; set; } = false; //private string currentview { get; set; } = ""; private System.Data.DataRow currentview { get; set; } //private string paketview { get; set; } = ""; private System.Data.DataRow paketview { get; set; } public string Search_Docid { get; set; } = ""; private System.Data.DataTable Ansichten { get; set; } public DokList() { System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de-DE"); InitializeComponent(); //this.sfDataGrid1.AutoGeneratingColumn += datagrid_AutoGeneratingColumn; Broadcaster().AddListener(this); //t_functions(); pos_elements(); this.sfDataGrid1.FilterPopupShowing += SfDataGrid1_FilterPopupShowing; } private void SfDataGrid1_FilterPopupShowing(object sender, Syncfusion.WinForms.DataGrid.Events.FilterPopupShowingEventArgs e) { if (e.Column is GridDateTimeColumn) { e.Control.DatePicker.FirstDayOfWeek = DayOfWeek.Monday; } } private void datagrid_AutoGeneratingColumn(object sender, AutoGeneratingColumnArgs e) { if (e.Column.MappingName == "Erstellt am" || e.Column.MappingName == "Mutiert am") { GridDateTimeColumn gdt = e.Column as GridDateTimeColumn; gdt.Pattern = (Syncfusion.WinForms.Input.Enums.DateTimePattern)Syncfusion.Windows.Shared.DateTimePattern.FullDateTime; } } public void OnListen(string message, SenderInfo sender) { if (sender.SenderName is "PreviewWindow") { if (sender.Function == "WindowClosed") { this.Separate_Vorschau_offen = false; } } if (sender.SenderName is "AdminDokErstellung") { createnewdoc(0, Convert.ToInt32(sender.Details)); } } private void DokList_Load(object sender, EventArgs e) { tsrbvorschau.SelectedIndex = 0; //sfDataGrid1.AllowDraggingColumns = true; // Helper.Security security = new Helper.Security(); // security.set_security(this); //Refresh_Bewilligungen(); //this.sfDataGrid1.CellRenderers.Remove("DateTime"); //this.sfDataGrid.CellRenderers.Add("DateTime", new GridDateTimeCellRendererExt()); } public void load_Profile() { RibbonCBProfil.DropDownItems.Clear(); DB db = new DB(AppParams.connectionstring); db.dsdaten.Tables.Clear(); db.Get_Tabledata("Select profilnr, bezeichnung, standard from profil where aktiv=1 and mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString(), false, true); foreach (System.Data.DataRow r in db.dsdaten.Tables[0].Rows) { RibbonLabel rl = new RibbonLabel(); rl.Text = r["bezeichnung"].ToString(); rl.Tag = Convert.ToInt32(r["profilnr"]); RibbonCBProfil.DropDownItems.Add(rl); if (Convert.ToBoolean(r["standard"]) == true) { RibbonCBProfil.SelectedItem = rl; } } db = null; refresh_ansichten(); } private void refresh_ansichten(string Bezeichnung = "") { ribbonCBAnsicht.DropDownItems.Clear(); DB db = new DB(AppParams.connectionstring); db.clear_parameter(); db.add_parameter("@maid", AppParams.CurrentMitarbeiter.ToString()); db.Get_Tabledata("sp_ondoc_get_magridveiw", true, false); Ansichten = db.dsdaten.Tables[0].Copy(); //string standardview = ""; System.Data.DataRow standardview = null; int index = 0; int selindex = 0; foreach (System.Data.DataRow dr in Ansichten.Rows) { RibbonLabel rl = new RibbonLabel(); rl.Text = dr["bezeichnung"].ToString(); rl.Tag = Convert.ToInt32(dr["id"]); if (Convert.ToInt32(rl.Tag) == -102 && AppParams.isSysadmin) { ribbonCBAnsicht.DropDownItems.Add(rl); } if (Convert.ToInt32(rl.Tag) == -102) { //paketview = dr["gridsettings"].ToString(); paketview = dr; } if (Convert.ToInt32(rl.Tag) == -101) { standardview = dr; } if (Convert.ToInt32(rl.Tag) != -102) { ribbonCBAnsicht.DropDownItems.Add(rl); } if (Convert.ToBoolean(dr["standard"]) == true && Bezeichnung == "") { ribbonCBAnsicht.SelectedItem = rl; selindex = index; standardview = dr; currentview = dr; //standardview = dr["gridsettings"].ToString(); } if (rl.Text == Bezeichnung) { //ribbonCBAnsicht.SelectedItem = rl; //standardview = dr["gridsettings"].ToString(); standardview = dr; } index = index + 1; } if (selindex > 0) { try { ribbonCBAnsicht.SelectedIndex = selindex; } catch { ribbonCBAnsicht.SelectedIndex = selindex - 1; } } db = null; // if (standardview != "") { refresh_view(standardview); } if (standardview != null) { refresh_view(standardview); } } public bool grid_empty() { if (this.sfDataGrid1.RowCount > 0) { return false; } else return true; } public bool row_selected() { if (grid_empty() == true) { return false; } var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return false; } return true; } public void delete_doks_in_list() { try { var records = this.sfDataGrid1.View.Records; foreach (var record in records) { var a = record.Data; var b = a as DataRowView; string dokumentid = b["dokumentid"].ToString(); dokument_loeschen(dokumentid); } } catch { } } public void refresh_edk_partner(int partnernr) { this.personnr = 0; DB db = new DB(AppParams.connectionstring); try { db.Get_Tabledata("Select bkpar00, saldiert from partner where nrpar00=" + partnernr.ToString(), false, true); Filter_Loeschen(); this.partnernr = partnernr; RibbonFilterLabel.Text = partnernr + " " + db.dsdaten.Tables[0].Rows[0][0].ToString(); RibbonFilterLabel.Visible = true; RibbonFilterDelete.Visible = true; ribbonbuttonnewparterdoc.Visible = true; if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0][1])) { RibbonPartnerSaldiert.Visible = true; } else { RibbonPartnerSaldiert.Visible = false; ribbonPersonSaldiert.Visible = false; } if (this.partnernr < 100000000) { refresh_person(); } refresh_dokumente(); } catch { } finally { db = null; } } public void refresh_person() { ribbonGroupPerson.Visible = false; DB db = new DB(AppParams.connectionstring); try { db.clear_parameter(); db.add_parameter("@partnernr", this.partnernr.ToString()); db.Get_Tabledata("sp_ondoc_bp_person", true, false); if (db.dsdaten.Tables[0].Rows.Count > 0) { this.personnr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["pers_nr"]); this.personbezeichnung = db.dsdaten.Tables[0].Rows[0]["person_kurzname"].ToString(); this.ribbonLabelPerson.Text = personnr.ToString() + " " + personbezeichnung; this.ribbonGroupPerson.Visible = true; this.ribbonbuttonPartnerlist.Visible = true; } } catch { } finally { db = null; } } public void refresh_dokumente(string layout = "", bool person=false) { update_currentview(); if (datafilter != "") { refresh_dokumente_filtered(layout); if (layout == "view_dokumentpaket") { refresh_view(paketview); } else { refresh_view(currentview); } return; } DB db = new DB(AppParams.connectionstring); int selectedIndex = RibbonCBProfil.SelectedIndex; profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); // profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); System.Data.DataTable dokumente = new System.Data.DataTable(); Logging.Logging.Debug("Get_Dokumente", "", ""); if (!person) { dokumente = db.Get_Dokumente(partnernr, docartnr, profilnr, forMaNr, Search_Docid, false); } else { dokumente = db.Get_Dokumente(personnr, docartnr, profilnr, forMaNr, Search_Docid, false); } // TableHelper.SetColumnsOrder(dokumente, "trefferliste"); if (layout == "") { layout = "trefferliste_relaunch"; } TableHelper.FormatTable(ref dokumente, layout, ref this.sfDataGrid1); this.sfDataGrid1.DataSource = dokumente; sfDataGrid1.View.AutoExpandGroups = true; this.timer1.Enabled = true; Logging.Logging.Debug("refresh_view", "", ""); refresh_view(currentview); //foreach (GridColumn gd in sfDataGrid1.Columns) //{ // sfDataGrid1.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = gd.MappingName }); //} //sfDataGrid1.RowHeight = 60; } public void refresh_dokumente_filtered(string layout = "") { DB db = new DB(AppParams.connectionstring); int selectedIndex = RibbonCBProfil.SelectedIndex; try { profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); } catch { load_Profile(); profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); } System.Data.DataTable dokumente = new System.Data.DataTable(); dokumente = db.Get_Dokumente(partnernr, docartnr, profilnr, forMaNr, Search_Docid, false); dokumente.DefaultView.RowFilter = datafilter; if (layout == "") { layout = "trefferliste_relaunch"; } // TableHelper.SetColumnsOrder(dokumente, "trefferliste"); TableHelper.FormatTable(ref dokumente, layout, ref this.sfDataGrid1); //this.sfDataGrid1.DataSource = dokumente; } private void update_ansicht(string bearbeitung_zwingend, string toApprove, string approved, string faksimile) { if (dokwerte1.Width > 0) { dokwerte1.Update_Werte(selected_dokumentid); } ribbonButtonToApproval.Enabled = false; zurUnterschriftenPrüfungToolStripMenuItem.Enabled = false; if (faksimile == "True") { ribbonButtonToApproval.Enabled = true; zurUnterschriftenPrüfungToolStripMenuItem.Enabled = true; } if (bearbeitung_zwingend == "True") { RibbonButtonArchivToOnBase.Enabled = false; archivierenToolStripMenuItem.Enabled = false; } else { if (toApprove == "True" && approved == "False") { RibbonButtonArchivToOnBase.Enabled = false; archivierenToolStripMenuItem.Enabled = false; } else { RibbonButtonArchivToOnBase.Enabled = true; archivierenToolStripMenuItem.Enabled = true; } } if (vorschauposition == "Keine Vorschau") { return; } if (Separate_Vorschau_offen) { Broadcaster().Broadcast(selected_dokumentid, new SenderInfo("Doklist", "UpdateView", "")); return; } if (AppParams.StartApp == false) { docPreview1.Show_Doc(selected_dokumentid); docPreview1.Hide_Editbuttons(); } } private void sfDataGrid1_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { //var rowColumnIndex = sfDataGrid1.TableControl.PointToCellRowColumnIndex(e.MouseEventArgs.Location); string documentid = ""; try { var rowIndex = e.DataRow.RowIndex; //Get the column index value var columnIndex = e.DataColumn.ColumnIndex; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; documentid = dataRow["dokumentid"].ToString(); selected_dokumentid = documentid; selected_partnernr = dataRow["Partner-Nr"].ToString(); selected_cellvalue = dataRow[columnIndex].ToString(); selected_cellvalue = this.sfDataGrid1.View.GetPropertyAccessProvider().GetValue(e.DataRow.RowData, e.DataColumn.GridColumn.MappingName).ToString(); update_ansicht(dataRow["Bearbeitung_Zwingend"].ToString(), dataRow["toapprove"].ToString(), dataRow["approved"].ToString(), dataRow["faksimile"].ToString()); sfDataGrid1.ContextMenuStrip = ctxMenuDokList; return; if (dokwerte1.Width > 0) { dokwerte1.Update_Werte(selected_dokumentid); } if (dataRow["Bearbeitung_Zwingend"].ToString() == "1") { RibbonButtonArchivToOnBase.Enabled = false; archivierenToolStripMenuItem.Enabled = false; } else { if (dataRow["toapprove"].ToString() == "True" && dataRow["approved"].ToString() == "False") { RibbonButtonArchivToOnBase.Enabled = false; archivierenToolStripMenuItem.Enabled = false; } else { RibbonButtonArchivToOnBase.Enabled = true; archivierenToolStripMenuItem.Enabled = true; } } } catch { selected_dokumentid = ""; selected_partnernr = ""; sfDataGrid1.ContextMenuStrip = ctxMenuGroups; return; } if (vorschauposition == "Keine Vorschau") { return; } if (Separate_Vorschau_offen) { Broadcaster().Broadcast(selected_dokumentid, new SenderInfo("Doklist", "UpdateView", "")); return; } docPreview1.Show_Doc(selected_dokumentid); docPreview1.Hide_Editbuttons(); } private void dokumentAnzeigenToolStripMenuItem_Click(object sender, EventArgs e) { try { if (!row_selected()) return; var records = sfDataGrid1.View.GetSelectedRecords(); foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); selected_dokumentid = documentid; Logging.DocLog.Info("Dokument-Anzeige", "OnDoc", selected_dokumentid, "", "Dokument-Anzeige"); clsdok dok = GetDoc(false); OpenDoc(dok, false); } } catch { } //Logging.DocLog.Info("Dokument-Anzeige","OnDoc",selected_dokumentid,"","Dokument-Anzeige"); //clsdok dok = GetDoc(false); //OpenDoc(dok, false); } private void dokumentBearbeitenToolStripMenuItem_Click(object sender, EventArgs e) { try { if (!row_selected()) return; var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count > 1) { if (MessageBox.Show("Mehrere Dokumente zum Bearbeiten öffnen?", "Dokument bearbeiten", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } } foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); dokument_bearbeiten(documentid, false); } } catch { } } public void dokument_bearbeiten(string dokid, bool newdok = false) { if (dokid != "") { selected_dokumentid = dokid; } clsdok dok = GetDoc(false); if (dok.dokument == "") return; DB db = new DB(AppParams.connectionstring); try { int res = db.Dok_in_Bearbeitung(3, selected_dokumentid, AppParams.CurrentMitarbeiter); switch (res) { case 0: break; case 1: if (MessageBox.Show("Das Dokument wird aktuell bearbeitet." + Environment.NewLine + Environment.NewLine + "Sperrung aufheben?" + Environment.NewLine + Environment.NewLine + "Bitte vorgängig prüfen, ob das Dokument nicht mehr in Word/Excel geöffnet ist!", "Dokumentsperrung aufheben", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { clsProcessWatch.RemoveFromList(dokid); } else { return; } break; case 2: MessageBox.Show("Das Dokument wird aktuell bearbeitet.", "Dokumentbearbeitung", MessageBoxButtons.OK, MessageBoxIcon.Information); return; break; } db.Get_Tabledata("Select * from dokument_trefferliste where dokumentid='" + dokid + "'", false, true); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Status_Bezeichnungnr"]) == -2) { MessageBox.Show("Das Dokument " + dokid + " wurde zwischenzeitlich archiviert und kann nicht mehr bearbeitet werden.", "Dokument bearbeiten", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } db.Get_Tabledata("Select * from dokument where dokumentid='" + selected_dokumentid + "'", false, true); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["verantwortlich"]) != AppParams.CurrentMitarbeiter) { if (MessageBox.Show("Durch die Bearbeitung wird die Dokument-Verantwortung übernommen.", "Dokumentbearbeiutng", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) { db.Exec_SQL("Update dokument set verantwortlich=" + AppParams.CurrentMitarbeiter.ToString() + " where dokumentid='" + selected_dokumentid + "'"); Logging.DocLog.Info("Verantwortung für Bearbeitung übernommen", "Doklist", selected_dokumentid, selected_partnernr, "Verantwortung übernommen"); } else { return; } } Logging.Logging.Debug("Vor Dok In Bearbeitung", "ondoc client", ""); db.Dok_in_Bearbeitung(1, selected_dokumentid, AppParams.CurrentMitarbeiter); } catch { } finally { db = null; } Logging.DocLog.Info("Dokument bearbeiten", "Doklist", selected_dokumentid, selected_partnernr, "Dokument bearbeiten: InterOP: " + interop.ToString()); if (newdok) { OpenDoc(dok, true, interop, runmacros); } else { Dokumenterstellung dokbearbeitung = new Dokumenterstellung(selected_dokumentid); dokbearbeitung.ShowDialog(); DB db1 = new DB(AppParams.connectionstring); switch (dokbearbeitung.DocFunction) { case 0: db1.Dok_in_Bearbeitung(2, selected_dokumentid, AppParams.CurrentMitarbeiter); db1 = null; break; case 1: Cursor = Cursors.WaitCursor; System.Windows.Forms.Application.DoEvents(); selected_dokumentid = dokbearbeitung.dokumentid; selected_partnernr = dokbearbeitung.partnernr.ToString(); ; interop = dokbearbeitung.interop; runmacros = dokbearbeitung.runmacros; dok = GetDoc(false); OpenDoc(dok, true, interop, false); Cursor = Cursors.Default; System.Windows.Forms.Application.DoEvents(); break; case 6: //DB db1 = new DB(AppParams.connectionstring); selected_dokumentid = dokbearbeitung.dokumentid; selected_partnernr = dokbearbeitung.partnernr.ToString(); ; interop = dokbearbeitung.interop; //runmacros = dokbearbeitung.runmacros; string filename = dokbearbeitung.filename; string ext = System.IO.Path.GetExtension(filename); string apptype = ""; switch (ext.ToUpper()) { case ".DOCX": case ".DOCM": case ".DOC": case ".DOT": case ".WORD": case ".DOTM": apptype = "Word"; break; case ".XLSM": case ".XLSX": case ".XLST": case ".XLS": case ".XLT": apptype = "Excel"; break; } Logging.Logging.Debug("Doklist Docfunction=6", "Doklist", ""); //db1.Dok_in_Bearbeitung(1, selected_dokumentid, AppParams.CurrentMitarbeiter); //db1 = null; clsProcessWatch.AddToList(selected_dokumentid, filename, apptype); break; default: break; } db1 = null; //if (dokbearbeitung.ShowDialog() == DialogResult.Abort) //{ // DB db1 = new DB(AppParams.connectionstring); // db1.Dok_in_Bearbeitung(2, selected_dokumentid, AppParams.CurrentMitarbeiter); // db1 = null; //} //else //{ // OpenDoc(dok, true, interop, runmacros); //}; } } private clsdok GetDoc(bool AsPDF) { clsdok dok = new clsdok("", "", "", ""); if (selected_dokumentid == "") { return dok; ; } if (AppParams.UseAPI == "YES") { string URL = AppParams.RESTURI + "api/GetDocument?dokid=" + selected_dokumentid; if (AsPDF == true) { URL = AppParams.RESTURI + "api/GetDocumentPDF?dokid=" + selected_dokumentid; } HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest; webRequest.Method = WebRequestMethods.Http.Get; webRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey; //webRequest.Credentials = new NetworkCredential(Username, Password); //webRequest.ContentType = "application/x-www-form-urlencoded"; using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse) { if (response.StatusCode == HttpStatusCode.OK) { StreamReader reader = new StreamReader(response.GetResponseStream()); string responseContent = reader.ReadToEnd(); dok = Newtonsoft.Json.JsonConvert.DeserializeObject(responseContent); } else { Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", ""); } } } else { DocGet gd = new DocGet(AppParams.connectionstring); if (AsPDF == true) { dok = gd.GetDocAsPDF(selected_dokumentid); } else { dok = gd.GetDoc(selected_dokumentid); } } if (dok.extension.ToString() == "") { MessageBox.Show("Das Dokument mit der ID " + selected_dokumentid + " wurde nicht gefunden.", ""); return dok; } return dok; } private void OpenDoc(clsdok dok, bool editdoc, bool interop = false, bool runmacros = false) { //DB db = new DB(AppParams.connectionstring); //string docfilename = ""; //try //{ // db.Get_Tabledata("Select dokumentname from dokument where dokumentid='" + selected_dokumentid + "'", false, true); // docfilename = db.dsdaten.Tables[0].Rows[0][0].ToString(); //} //catch //{ // docfilename = selected_dokumentid; //} //finally { // db = null; //} switch (dok.extension.ToUpper().Substring(0, 1)) { case "D": clsFileHelper fh = new clsFileHelper(); string tempfilename = ""; tempfilename = fh.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname); //System.Diagnostics.Process.Start(tempfilename); interop = true; if (interop == true) { OnDocOffice.clsWordEdit WordInterOP = new OnDocOffice.clsWordEdit(AppParams.connectionstring, tempfilename, selected_dokumentid, AppParams.RESTURI, AppParams.apikey); WordInterOP.Edit_Document(runmacros); WordInterOP = null; } else { System.Diagnostics.Process.Start("winword.exe", "/n " + tempfilename); } if (editdoc == true) { clsProcessWatch.AddToList(selected_dokumentid, tempfilename, "Word"); } fh = null; break; case "X": clsFileHelper fh2 = new clsFileHelper(); tempfilename = fh2.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname); if (interop == true) { OnDocOffice.clsExcelEdit ExcelInterOP = new OnDocOffice.clsExcelEdit(AppParams.connectionstring, tempfilename, selected_dokumentid); ExcelInterOP.Edit_Document(runmacros); ExcelInterOP = null; } else { System.Diagnostics.Process.Start("excel.exe", " " + tempfilename); } //System.Diagnostics.Process.Start("excel.exe", "/x " + tempfilename); if (editdoc == true) { clsProcessWatch.AddToList(selected_dokumentid, tempfilename, "Excel"); } fh2 = null; break; case "P": clsFileHelper fh3 = new clsFileHelper(); tempfilename = fh3.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname); System.Diagnostics.Process.Start(tempfilename); if (editdoc == true) { clsProcessWatch.AddToList(selected_dokumentid, tempfilename, "PDF"); } fh3 = null; break; default: break; } } private void barcodeDemoToolStripMenuItem_Click(object sender, EventArgs e) { DOCGEN.DocGen dg = new DOCGEN.DocGen(); Helper.FileHelper fh = new FileHelper(); fh.SaveBase64ToFile(dg.Barcodetest(selected_dokumentid), @"x:\test.png"); } private void tsrbvorschau_TextChanged(object sender, EventArgs e) { vorschauposition = tsrbvorschau.Text; } private void tsrbvorschau_SelectedIndexChanged(object sender, EventArgs e) { vorschauposition = tsrbvorschau.Text; switch (vorschauposition) { case "Keine Vorschau": this.splitContainer1.SplitterDistance = this.Height; this.splitContainer1.Orientation = Orientation.Horizontal; docPreview1.Visible = false; break; case "Vorschau unten": this.splitContainer1.SplitterDistance = this.Height / 2; this.splitContainer1.Orientation = Orientation.Horizontal; docPreview1.Visible = true; docPreview1.Show_Doc(selected_dokumentid); docPreview1.Hide_Editbuttons(); break; case "Vorschau rechts": this.splitContainer1.SplitterDistance = this.Width / 3; this.splitContainer1.Orientation = Orientation.Vertical; docPreview1.Visible = true; docPreview1.Show_Doc(selected_dokumentid); docPreview1.Hide_Editbuttons(); break; case "Eigenes Fenster": this.splitContainer1.SplitterDistance = this.Height; this.splitContainer1.Orientation = Orientation.Horizontal; docPreview1.Visible = false; if (Separate_Vorschau_offen) { Broadcaster().Broadcast(selected_dokumentid, new SenderInfo("Doklist", "UpdateView", "")); } else { frmDocPreview dp = new frmDocPreview(); dp.Show(); Separate_Vorschau_offen = true; Broadcaster().Broadcast(selected_dokumentid, new SenderInfo("Doklist", "UpdateView", "")); } break; } } private void vertragPDFDEMOToolStripMenuItem_Click(object sender, EventArgs e) { clsdok dok = new clsdok("", "", "", ""); dok = GetDoc(false); DocGenerator_from_EDOKA docgen = new DocGenerator_from_EDOKA(AppParams.connectionstring); //docgen.DocToPDF(ref dok); return; } private void RibbonButtonExit_Click(object sender, EventArgs e) { System.Windows.Forms.Application.Exit(); } private void RibbonBtnVorschauNo_Click(object sender, EventArgs e) { tsrbvorschau.SelectedIndex = 0; update_currentview(); } private void update_currentview() { try { currentview["Preview"] = tsrbvorschau.SelectedIndex; if (RibbonButtonAttributeEinAusblenden.Checked) { currentview["Attributes"] = 1; } else { currentview["Attributes"] = 0; } currentview["Splitterdistance"] = splitContainer1.SplitterDistance; MemoryStream ms = new MemoryStream(); this.sfDataGrid1.Serialize(ms); System.Windows.Forms.Application.DoEvents(); currentview["Gridsettings"] = Convert.ToBase64String(ms.ToArray()); } catch { } } private void RibbonBtnVorschauUnten_Click(object sender, EventArgs e) { if (tsrbvorschau.SelectedIndex == 1) { tsrbvorschau.SelectedIndex = 0; } else { tsrbvorschau.SelectedIndex = 1; } update_currentview(); } private void RibbonButtonVorschauRechts_Click(object sender, EventArgs e) { if (tsrbvorschau.SelectedIndex == 2) { tsrbvorschau.SelectedIndex = 0; } else { tsrbvorschau.SelectedIndex = 2; } update_currentview(); } private void RibbonBtnVorschauSepparat_Click(object sender, EventArgs e) { update_currentview(); if (Separate_Vorschau_offen == true) { try { Broadcaster().Broadcast(selected_dokumentid, new SenderInfo("Doklist", "Close", "")); return; } catch { return; } } if (tsrbvorschau.SelectedIndex == 3 && Separate_Vorschau_offen == false) { tsrbvorschau_SelectedIndexChanged(sender, e); return; } tsrbvorschau.SelectedIndex = 3; } private void RibbonButtonCreateNewDoc_Click(object sender, EventArgs e) { createnewdoc(0, 0); } public void set_vorschau_aus_dp() { tsrbvorschau.SelectedIndex = 2; } public void StartPruefung() { ribbonButtonApproval_Click(null, null); } public void createdocumentpaket(int partnernr, int dokumentpaketnr) { Dokumentpaket dp = new Dokumentpaket(dokumentpaketnr, partnernr, this.profilnr); dp.Show(); } public void createsb(int dokumenttypnr) { frmSerienbrief sb = new frmSerienbrief(this.profilnr); sb.Show(); sb.create_new_sb(dokumenttypnr); } public void createnewdoc(int partnernr, int dokumenttypnr, bool Favoriten = false, string interaktion = "Yes", string showdoc = "Yes") { if (dokumenttypnr == 0) { DokTypSelect DokTypSelect = new DokTypSelect(Favoriten); //; DokTypSelect.vorlagentype = 1; DokTypSelect.ShowDialog(this); if (DokTypSelect.DialogResult == DialogResult.OK) { dokumenttypnr = DokTypSelect.dokumenttypnr; } else { return; } } profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); Dokumenterstellung frmnewdok = new Dokumenterstellung(partnernr, dokumenttypnr, profilnr); if (interaktion == "No") { frmnewdok.Show(); frmnewdok.Visible = false; frmnewdok.Dokument_Erstellen("", false); frmnewdok.Dispose(); } else { frmnewdok.ShowDialog(); refresh_dokumente(); } switch (frmnewdok.DocFunction) { case 1: if (frmnewdok.dokumentid != "") { Cursor = Cursors.WaitCursor; System.Windows.Forms.Application.DoEvents(); selected_dokumentid = frmnewdok.dokumentid; selected_partnernr = frmnewdok.partnernr.ToString(); ; interop = frmnewdok.interop; runmacros = frmnewdok.runmacros; dokument_bearbeiten(selected_dokumentid, true); Cursor = Cursors.Default; System.Windows.Forms.Application.DoEvents(); } break; case 2: if (frmnewdok.dokumentid != "") { dokument_loeschen(frmnewdok.dokumentid); } break; case 3: break; case 4: archivedoc(frmnewdok.dokumentid); break; case 5: break; case 6: selected_dokumentid = frmnewdok.dokumentid; selected_partnernr = frmnewdok.partnernr.ToString(); ; interop = frmnewdok.interop; runmacros = frmnewdok.runmacros; string filename = frmnewdok.filename; DB db = new DB(AppParams.connectionstring); db.clear_parameter(); db.add_parameter("@dokumentid", selected_dokumentid); db.Get_Tabledata("ondoc_check_delete_einzeldokument", true, false); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) > 0) { db = null; return; } Logging.Logging.Debug("Doklist Docfunction=6", "Doklist", ""); db.Dok_in_Bearbeitung(1, selected_dokumentid, AppParams.CurrentMitarbeiter); db = null; string ext = System.IO.Path.GetExtension(filename); string apptype = ""; switch (ext.ToUpper()) { case ".DOCX": case ".DOCM": case ".DOC": case ".DOT": case ".WORD": case ".DOTM": apptype = "Word"; break; case ".XLSM": case ".XLSX": case ".XLST": case ".XLS": case ".XLT": apptype = "Excel"; break; } clsProcessWatch.AddToList(selected_dokumentid, filename, apptype); break; default: break; } } private void RibbonButtonRefresh_Click(object sender, EventArgs e) { refresh_dokumente(); } private void RibbonButtonEditDelete_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } if (MessageBox.Show("Gewählte Dokument(e) löschen", "Dokument löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); dokument_loeschen(documentid); } refresh_dokumente(); } public void dokument_loeschen(string dokumentid) { DB db = new DB(AppParams.connectionstring); db.Exec_SQL("Update dokument set aktiv=0, mutiertam=getdate(), mutierer=" + AppParams.CurrentMitarbeiter.ToString() + " where dokumentid='" + dokumentid + "'"); //db.Exec_SQL("Delete from dokument where dokumentid='" + dokumentid + "'"); //db.Exec_SQL("Delete from dokument_trefferliste where dokumentid='" + dokumentid + "'"); db = null; Logging.DocLog.Info("Dokument gelöscht", "Doklist.Dokument_loeschen", dokumentid, "", "Dokument gelöscht"); } private void ribbonButton1_Click(object sender, EventArgs e) { MitarbeiterProfil map = new MitarbeiterProfil(AppParams.CurrentMitarbeiter); map.ShowDialog(); load_Profile(); } private void dokumentLöschenToolStripMenuItem_Click(object sender, EventArgs e) { RibbonButtonEditDelete_Click(sender, e); } private void RibbonButtonZuweisen_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } if (!row_selected()) return; InputDialog ma = new InputDialog(true, "Verantwortlichkeit wechseln zu", "Verantwortlichkeit zuweisen"); ma.ShowDialog(); if (ma.DialogResult == DialogResult.OK) { DB dB = new DB(AppParams.connectionstring); clsMailer mailer = new clsMailer(); foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); dB.Exec_SQL("Update dokument set verantwortlich=" + ma.result + " where dokumentid = '" + documentid + "'"); Logging.DocLog.Info("Verantwortung zugewiesen auf " + ma.result.ToString(), "Doklist", documentid, selected_partnernr, "Verantwortung zugewiesen"); mailer.sendmail(102, ma.result, "", "", selected_dokumentid, "", AppParams.CurrentMitarbeiter.ToString(), ""); } dB = null; refresh_dokumente(); } } private void RibbonButtonCreateNewPaket_Click(object sender, EventArgs e) { int selectedIndex = RibbonCBProfil.SelectedIndex; profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); Dokumentpaket dp = new Dokumentpaket(profilnr); dp.Show(); } private void RibbonButtonCreateNewSerienbrief_Click(object sender, EventArgs e) { frmSerienbrief sb = new frmSerienbrief(this.profilnr); sb.Show(); } private void RibbonButtonNewDoc_Click(object sender, EventArgs e) { createnewdoc(0, 0); } public void hide_panels() { refresh_ansichten(""); set_functions(); this.RibbonButtonFavoriten.Visible = false; this.RibbonPanelSuche.Visible = false; this.RibbonPannelAproval.Visible = false; this.RibbonPanelExit.Visible = false; this.RibbonPanelProfil.Visible = false; this.RibbonPanelCreate.Visible = false; this.RibbonTabAdmin.Visible = false; this.sfDataGrid1.AllowGrouping = false; this.sfDataGrid1.ShowGroupDropArea = false; this.lblTitel.Text = ""; this.RibbonButtonNewDoc.Visible = false; this.ribbonPanelNeu.Visible = false; //this.RibbonPanelDoklist.Visible = false; this.RibbonBtnVorschauNo.Visible = false; this.RibbonButtonVorschauRechts.Visible = false; this.RibbonBtnVorschauUnten.Visible = false; this.ribbonTabDokpaket_Serienbrief.Visible = false; //this.ribbonButtonVersandstrasse.Visible = false; this.ribbonTabDokpaket_Serienbrief.Visible = false; this.ribbonTabProfil.Visible = false; this.RibbonTabNativVorlagen.Visible = false; this.RibbonTabAdmin.Visible = false; this.sfDataGrid1.ShowGroupDropArea = false; this.RibbonPannelAnsicht.Visible = false; } private void sfDataGrid1_DrawCell(object sender, DrawCellEventArgs e) { try { if (e.Column.MappingName == "Prüfung_Rechts") { var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; if (dataRow["Prüfung_Reghts"].ToString().Contains("Abgelehnt")) { e.Style.BackColor = Color.Red; } } //MessageBox.Show(e.Column.MappingName); if (e.Column.MappingName == "zu_retournieren") { e.Handled = true; e.Column.CellStyle.HorizontalAlignment = HorizontalAlignment.Center; e.Handled = true; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; if (Convert.ToBoolean(dataRow["zu_retournieren"]) == true) { e.Graphics.DrawImage(OnDoc.Properties.Resources.Barcode_16x16_32, e.Bounds.X + 20, e.Bounds.Y + 3); } Pen borderPen = new Pen(Color.LightGray); e.Graphics.DrawLine(borderPen, e.Bounds.Right, e.Bounds.Top, e.Bounds.Right, e.Bounds.Bottom); e.Graphics.DrawLine(borderPen, e.Bounds.Left, e.Bounds.Bottom, e.Bounds.Right, e.Bounds.Bottom); return; } if (e.Column.MappingName == "Erstellt am") { var f = e.Column.Format; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; e.DisplayText = dataRow["Erstellt am"].ToString(); //e.DisplayText = e.DisplayText.ToString("dd.MM.yyyy hh:mm:ss"); //int i = 0; } if (e.Column.MappingName == "Mutiert am") { var f = e.Column.Format; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; e.DisplayText = dataRow["Mutiert am"].ToString(); //e.DisplayText = e.DisplayText.ToString("dd.MM.yyyy hh:mm:ss"); //int i = 0; } if (e.Column.MappingName == "Termin") { var dataRow = (e.DataRow.RowData as DataRowView).Row; if (Convert.ToDateTime(dataRow["Mutiert am"]) < new DateTime(2000, 1, 1)) { e.DisplayText = ""; } } if (e.Column.MappingName == "fileext") { try { e.Column.CellStyle.HorizontalAlignment = HorizontalAlignment.Center; e.Handled = true; var selectedItem = e.DataRow; var dataRow = (e.DataRow.RowData as DataRowView).Row; if (dataRow[0].ToString().Substring(0, 1).ToUpper() == "D") { //word if (Convert.ToBoolean(dataRow["Bearbeitung_Zwingend"]) == false) { if (Convert.ToBoolean(dataRow["ToApprove"]) == true) { if (Convert.ToBoolean(dataRow["approved"]) == true) { e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_approved_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_ToApprove_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_Edit_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } // return; } if (dataRow[0].ToString().Substring(0, 1).ToUpper() == "X") { if (Convert.ToBoolean(dataRow["Bearbeitung_Zwingend"]) == false) if (Convert.ToBoolean(dataRow["toapprove"]) == true) { if (Convert.ToBoolean(dataRow["approved"]) == true) { e.Graphics.DrawImage(OnDoc.Properties.Resources.Excel_approved_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Excel_ToApprove_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Excel_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } else { e.Graphics.DrawImage(OnDoc.Properties.Resources.Excel_Edit_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } } if (dataRow[0].ToString().Substring(0, 1).ToUpper() == "P") { e.Graphics.DrawImage(OnDoc.Properties.Resources.PDF_24x24_32, e.Bounds.X + 20, e.Bounds.Y); } //e.Graphics.DrawImage(Image.FromFile(@"../../US.jpg"), e.Bounds.X + 20, e.Bounds.Y); Pen borderPen = new Pen(Color.LightGray); e.Graphics.DrawLine(borderPen, e.Bounds.Right, e.Bounds.Top, e.Bounds.Right, e.Bounds.Bottom); e.Graphics.DrawLine(borderPen, e.Bounds.Left, e.Bounds.Bottom, e.Bounds.Right, e.Bounds.Bottom); return; } catch { } } } catch { } e.Handled = false; } private void zellenwertInZwischenablageKopierenToolStripMenuItem_Click(object sender, EventArgs e) { System.Windows.Forms.Clipboard.SetText(selected_cellvalue); } private void sfDataGrid1_KeyDown(object sender, KeyEventArgs e) { } private void druckenToolStripMenuItem_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } if (MessageBox.Show("Gewählte Dokument(e) drucken", "Dokument drucken", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } Cursor = Cursors.WaitCursor; foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); print_doc(documentid); } Cursor = Cursors.Default; } private void print_doc(string dokumentid) { DocGet gd = new DocGet(AppParams.connectionstring); clsdok dok = new clsdok("", "", "", ""); dok = gd.GetDoc(dokumentid); Helper.FileHelper fh = new Helper.FileHelper(); string Filename = ""; switch (dok.doktype) { case "D": OfficePrinter.OnDocOffice op = new OfficePrinter.OnDocOffice(); Filename = AppParams.tempdir + dokumentid + "." + dok.extension; fh.SaveBase64ToFile(dok.dokument, Filename); string error = op.PrintInWord(Filename, AppParams.wordprintmacro, AppParams.OfficeSpleep1); if (error != "") { Logging.Logging.Debug("Print Error: " + error, "OnDoc", dokumentid); } System.IO.File.Delete(Filename); op = null; break; case "X": Filename = AppParams.tempdir + dokumentid + "." + dok.extension; fh.SaveBase64ToFile(dok.dokument, Filename); System.Diagnostics.Process.Start("excel.exe", "/w " + Filename); break; case "P": Filename = AppParams.tempdir + dokumentid + "." + dok.extension; fh.SaveBase64ToFile(dok.dokument, Filename); System.Diagnostics.Process.Start(Filename); break; default: break; } fh = null; gd = null; } private void RibbonButtonTest1_Click(object sender, EventArgs e) { DOCGEN.print print = new DOCGEN.print(); print.printWord(); } private void RibbonButtonBerechtigungsgruppe_Click(object sender, EventArgs e) { TableEditor tb = new TableEditor("Relaunch_Berechtigungsgruppe"); tb.Show(); } private void ribbonButton2_Click(object sender, EventArgs e) { Verbindungseditor ve = new Verbindungseditor("Relaunch_Berechtigungsgruppe", "Mitarbeiter", "Relaunch_Berechtigungsgruppe_Mitarbeiter"); ve.Show(); } private void RibbonButtonDokumenttyp_Click(object sender, EventArgs e) { //DokumenttypListe dtliste = new DokumenttypListe(); //dtliste.Show(); Dokumenttyp doktype = new Dokumenttyp(); doktype.Show(); } private void RibbonButtonVorlagen_Click(object sender, EventArgs e) { OfficeVorlage ov = new OfficeVorlage(); ov.Show(); } private void pDFGenerierenToolStripMenuItem_Click(object sender, EventArgs e) { DOCGEN.DocGet dg = new DocGet(AppParams.connectionstring); //dg.GetDocAsPDF(selected_dokumentid); clsdok dok = new clsdok("", "", "", ""); dok = dg.GetDocAsFinalPDF(selected_dokumentid); clsFileHelper fh = new clsFileHelper(); string tempfilename = ""; tempfilename = fh.save_temp_file(dok.dokument, selected_dokumentid, AppParams.tempdir, dok.extension, dok.dokumentname); } private void ribbonButtonNativ_Click(object sender, EventArgs e) { NativVorlagen nv = new NativVorlagen(); nv.Show(); } private void archivedoc(string documentid) { string URL = AppParams.RESTURI + "api/ArchiveDocFromDatabase?dokumentid=" + documentid; 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(); if (responseContent.Contains("Hinweismeldung:")) { MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " wurde nicht durchgeführt:" + Environment.NewLine + responseContent); return; } Logging.DocLog.Info("Dokument archiviert", "OnDoc", documentid, "", "Dokument archiviert und abgeschlossen"); } else { MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " wurde abgebrochen." + Environment.NewLine + "Fehler: " + response.StatusDescription); Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", ""); } } } catch (Exception ex) { MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " konnte nicht durchgeführt werden." + Environment.NewLine + "Fehler: " + ex.Message); } } private void RibbonButtonArchivToOnBase_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } if (MessageBox.Show("Gewählte Dokument(e) archivieren und abschliessen?", "Dokument archivieren und abschliessen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } DB db = new DB(AppParams.connectionstring); Cursor = Cursors.WaitCursor; foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); db.Get_Tabledata("Select * from dokument_trefferliste where dokumentid='" + documentid + "'", false, true); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Status_Bezeichnungnr"]) == -2) { MessageBox.Show("Das Dokument " + documentid + " wurde zwischenzeitlich archiviert und kann nicht erneut archiviert werden.", "Dokument archivieren", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { int res = db.Dok_in_Bearbeitung(3, documentid, AppParams.CurrentMitarbeiter); switch (res) { case 0: archivedoc(documentid); break; case 1: if (MessageBox.Show("Das Dokument wird aktuell bearbeitet." + Environment.NewLine + Environment.NewLine + "Sperrung aufheben?" + Environment.NewLine + Environment.NewLine + "Bitte vorgängig prüfen, ob das Dokument nicht mehr in Word/Excel geöffnet ist und die korrekte Version zur Archivierung bereit steht (Vorschau/Anzeige)!", "Dokumentsperrung aufheben", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { clsProcessWatch.RemoveFromList(documentid); archivedoc(documentid); } else { return; } break; case 2: MessageBox.Show("Das Dokument wird aktuell bearbeitet.", "Dokumentbearbeitung", MessageBoxButtons.OK, MessageBoxIcon.Information); return; break; } //archivedoc(documentid); } } db = null; Cursor = Cursors.Default; refresh_dokumente(); // return; // string URL = AppParams.RESTURI + "api/ArchiveDocFromDatabase?dokumentid=" + documentid; // 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(); // } // else // { // MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " wurde abgebrochen." + Environment.NewLine + "Fehler: " + response.StatusDescription); // Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", ""); // } // } // } catch (Exception ex) { // MessageBox.Show("Die Archivierung des Dokumentes " + documentid + " konnte nicht durchgeführt werden." + Environment.NewLine + "Fehler: " + ex.Message); // } //} //refresh_dokumente(); } private Boolean check_versandpaket_bp(ref List pakete,int partnernr) { foreach (Versandpaket vp in pakete) { if (vp.partnernr == partnernr) { return true; break; } } return false; } private void reserve_vs_dokument(string dokumentid,int fnkt) { DB db = new DB(AppParams.connectionstring); db.clear_parameter(); db.add_parameter("@dokumentid", dokumentid); db.add_parameter("@mitarbeiter", AppParams.CurrentMitarbeiter.ToString()); db.add_parameter("@fnkt", fnkt.ToString()); db.Get_Tabledata("Ondoc_Handle_Versandstrasse_Reserved_Dokcuments", true, false); db = null; } private void ribbonButtonVersandstrasse_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } int i = 0; List versandpakete = new List (); foreach (var record in records) { var datarow = record as DataRowView; if (check_versandpaket_bp(ref versandpakete, Convert.ToInt32(datarow["partner-nr"]))) { foreach(Versandpaket versandpaket in versandpakete) { if (versandpaket.partnernr== Convert.ToInt32(datarow["partner-nr"])) { versandpaket.Dokument.Add(new Versanddokument(datarow["dokumentid"].ToString(), datarow["doktyp"].ToString(), datarow["partner-nr"].ToString())); reserve_vs_dokument(datarow["dokumentid"].ToString(), 1); } } } else { Versandpaket vp = new Versandpaket(); vp.Dokument = new List (); vp.partnernr = Convert.ToInt32(datarow["partner-nr"]); vp.Versandoption = "B2_POST"; vp.Mitteilung = ""; vp.GAS = ""; vp.GASAdresse = ""; vp.PaketNr = Guid.NewGuid().ToString(); vp.Dokument.Add(new Versanddokument(datarow["dokumentid"].ToString(), datarow["doktyp"].ToString(), datarow["partner-nr"].ToString())); reserve_vs_dokument(datarow["dokumentid"].ToString(), 1); i++; versandpakete.Add(vp); } } OnDoc.Versandstrasse.Versandstrasse vs = new OnDoc.Versandstrasse.Versandstrasse(versandpakete); vs.ShowDialog(); dokumentAnVersandstrasseToolStripMenuItem.Visible = true; refresh_dokumente(); } private void RibbonButtonFavoriten_Click(object sender, EventArgs e) { createnewdoc(0, 0, true); } private void ribbonButtonApproval_Click(object sender, EventArgs e) { Refresh_Bewilligungen(); if (this.ribbonLabelToApprove.Text == "") { MessageBox.Show("Es stehen keine Dokumente zur Unterschriftenprüfung an.", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmBewilligung bw = new frmBewilligung(); bw.Show(); } private void ribbonButtonToApproval_Click(object sender, EventArgs e) { if (!row_selected()) return; var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count == 1) { frmToApproval fa = new frmToApproval(); fa.dokumentid = selected_dokumentid; fa.ShowDialog(); return; } int error = 0; foreach (var record in records) { var datarow = record as DataRowView; string toapprove = datarow["toapprove"].ToString(); if (toapprove == "False") { error = 1; } } if (error != 0) { MessageBox.Show("Es sind Dokumente in der Auswahl, welche keine Prüfung benötigten. Bitte auswahl anpassen.", "Prüfung", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (MessageBox.Show("Gewählte Dokumente zur Unterschriftenprüfung " + Environment.NewLine + "(ohne Kommentar-Möglichkeit)?", "Dokument zur Unterschriftenprüfung?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { frmToApproval fa = new frmToApproval(); fa.Visible = false; fa.Show(); foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); string toapprove = datarow["toapprove"].ToString(); if (toapprove == "True") { fa.dokumentid = documentid; fa.update_dokdetails(); fa.insert_bewilligung(); } } fa.close_window(); } refresh_dokumente(); //frmToApproval fa = new frmToApproval(); //fa.dokumentid = selected_dokumentid; //fa.ShowDialog(); } public void upruefung() { Refresh_Bewilligungen(); if (this.ribbonLabelToApprove.Text == "") { MessageBox.Show("Es stehen keine Dokumente zur Unterschriftenprüfung an.", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmBewilligung bw = new frmBewilligung(); bw.Show(); } private void Refresh_Bewilligungen() { try { ribbonLabelToApprove.Text = ""; ribbonLabelToApprove.Visible = false; DB db1 = new DB(AppParams.connectionstring); db1.Get_Tabledata("Select count(*) from view_relaunch_approval where bewilligt=0 and abgelehnt = 0 and mitarbeiter_bewilligung=" + AppParams.CurrentMitarbeiter.ToString(), false, true); int approval = Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]); db1.Get_Tabledata("Select count(*) from view_relaunch_approval_serienbrief where bewilligt=0 and abgelehnt = 0 and mitarbeiter_bewilligung=" + AppParams.CurrentMitarbeiter.ToString(), false, true); approval = approval + Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]); if (approval == 0) { //ribbonLabelToApprove.Text = ""; //ribbonLabelToApprove.Visible = false; } else { ribbonLabelToApprove.Text = approval.ToString(); ribbonLabelToApprove.Visible = true; } db1 = null; } catch { } } private void timer1_Tick(object sender, EventArgs e) { Refresh_Bewilligungen(); } private void ribbonButtonRefresh_Bewilligungen_Click(object sender, EventArgs e) { Refresh_Bewilligungen(); } private void ribbon2_Click(object sender, EventArgs e) { //pos_elements(); //if (ribbon2.ActiveTab.Text != "Funktionen") //{ // lblToApprove.Visible = false; //} //else //{ // lblToApprove.Visible = true; //} } private void pos_elements() { //System.Windows.Forms.Application.DoEvents(); //int posx = ribbonButtonApproval.Bounds.X; //int width = RibbonPannelAproval.Bounds.Width; //if (RibbonPannelAproval.Visible == true && ribbonButtonApproval.Visible == true) //{ // //lblToApprove.Visible = true; // lblToApprove.Left = posx + (width / 2); //} //else { lblToApprove.Visible = false; } } private void ribbonButton3_Click(object sender, EventArgs e) { BarcodeLib.Barcode bck = new BarcodeLib.Barcode(); bck.Gen_BCK(AppParams.connectionstring); } public void set_functions() { Security security = new Security(); security.set_security_general(this); security = null; ribbonVorlagen.Visible = AppParams.isSysadmin; ribbonBerechtigung.Visible = AppParams.isSysadmin; ribbonpanelanalyse.Visible = AppParams.isSysadmin; RibbonPanelDiverses.Visible = true; ribbonPanel3.Visible = AppParams.isSysadmin; ribbonPanel4.Visible = AppParams.isSysadmin; RibbonTabAdmin.Visible = false; RibbonTabAdmin.Visible = true; ribbonSaveGridView.Enabled = AppParams.isSysadmin; ribbonSaveGridView.Visible = AppParams.isSysadmin; ribbonAnmelden.Visible = AppParams.showlogin; //pos_elements(); } private void ribbon2_DockChanged(object sender, EventArgs e) { } private void DokList_DockChanged(object sender, EventArgs e) { } private void wordInterOPEditToolStripMenuItem_Click(object sender, EventArgs e) { clsdok dok = GetDoc(false); if (dok.dokument == "") return; OpenDoc(dok, true, true); } private void ribbonGroupMitarbeiter_Click(object sender, EventArgs e) { InputDialog ma = new InputDialog(true, "Verantwortlicher Mitarbeiter wählen", "Mitarbeiter wählen"); ma.ShowDialog(); if (ma.DialogResult == DialogResult.OK) { Filter_Loeschen(); this.RibbonFilterLabel.Text = ma.resulttext; this.forMaNr = Convert.ToInt32(ma.result); RibbonFilterLabel.Visible = true; RibbonFilterDelete.Visible = true; refresh_dokumente(); } } private void ribbonButton3_Click_1(object sender, EventArgs e) { Partnersuche ps = new Partnersuche(); ps.ShowDialog(); if (ps.DialogResult == DialogResult.OK) { Filter_Loeschen(); this.partnernr = ps.partnernr; RibbonFilterLabel.Text = ps.partnernr + " " + ps.partnerkurzname; RibbonFilterLabel.Visible = true; RibbonFilterDelete.Visible = true; ribbonbuttonnewparterdoc.Visible = true; if (ps.partnersaldiert) { RibbonPartnerSaldiert.Visible = true; ribbonPersonSaldiert.Visible = true; } else { RibbonPartnerSaldiert.Visible = false; ribbonPersonSaldiert.Visible = false; } if (ps.partnernr < 100000000) { ribbonbuttonbpsymbol.Visible = true; ribbonbuttonpersonsymbol.Visible = false; refresh_person(); } else { ribbonbuttonbpsymbol.Visible = false; ribbonbuttonpersonsymbol.Visible = true; } refresh_dokumente(); } } private void ribbonDokumntID_Click(object sender, EventArgs e) { InputDialog dokid = new InputDialog("Dokument-ID", "Gesuchte Dokument-ID", ""); dokid.ShowDialog(); if (dokid.DialogResult == DialogResult.OK) { Filter_Loeschen(); Search_Docid = dokid.result; RibbonFilterLabel.Text = dokid.result; RibbonFilterLabel.Visible = true; RibbonFilterDelete.Visible = true; refresh_dokumente(); } } private void RibbonFilterDelete_Click(object sender, EventArgs e) { Filter_Loeschen(); refresh_dokumente(); } private void Filter_Loeschen() { this.partnernr = 0; this.forMaNr = 0; this.Search_Docid = ""; this.RibbonFilterLabel.Visible = false; this.RibbonFilterLabel.Text = ""; this.RibbonPartnerSaldiert.Visible = false; this.ribbonPersonSaldiert.Visible = false; this.ribbonbuttonPartnerlist.Visible = true; this.ribbonbuttonnewparterdoc.Visible = false; this.ribbonGroupPerson.Visible = false; RibbonFilterDelete.Visible = false; ribbonbuttonbpsymbol.Visible = false; ribbonbuttonpersonsymbol.Visible = false; ribbonbuttonPartnerlist.Visible = false; } private void ribbonbuttonlogin_Click(object sender, EventArgs e) { frmLogin frmLogin = new frmLogin(); frmLogin.ShowDialog(); if (frmLogin.DialogResult == DialogResult.OK) { AppParams.CurrentMitarbeiter = frmLogin.selectedmitarbeiternr; DB db = new DB(AppParams.connectionstring); this.mitarbeiternr = AppParams.CurrentMitarbeiter; db.Get_Tabledata("Select * from mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString(), false, true); AppParams.currenttgnummer = db.dsdaten.Tables[0].Rows[0]["tgnummer"].ToString(); db.Get_Tabledata("select count(*) from ondoc_admin where tgnummer='" + AppParams.currenttgnummer + "'", false, true); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) > 0) { AppParams.isSysadmin = true; } else { AppParams.isSysadmin = false; } //Helper.Security security = new Helper.Security(); //security.set_security(dokList1); db = null; load_Profile(); refresh_dokumente(); set_functions(); } } //private void refresh_view(string base64string) private void refresh_view(System.Data.DataRow dataRow) { //List clist = new List(); //clist.Clear(); //int I = 0; //if (sfDataGrid1.GroupColumnDescriptions.Count > 0) //{ // for (int i = 0; i < sfDataGrid1.GroupColumnDescriptions.Count; i++) // { // clist.Add(sfDataGrid1.GroupColumnDescriptions[i].ColumnName); // } // sfDataGrid1.GroupColumnDescriptions.Clear(); //} try { this.sfDataGrid1.TableControl.ScrollRows.ScrollInView(this.sfDataGrid1.TableControl.ResolveToRowIndex(0)); this.sfDataGrid1.TableControl.UpdateScrollBars(); string base64string = dataRow["gridsettings"].ToString(); byte[] bytes = Convert.FromBase64String(base64string); string plaintext = Strings.Base64Decode(base64string); string tagesdatum = DateTime.Now.ToString("yyyy-MM-ddT00:00:00"); //tagesdatum = "2024-11-29T00:00:00"; plaintext = plaintext.Replace("@today@", tagesdatum); plaintext = Strings.Base64Encode(plaintext); bytes = Convert.FromBase64String(plaintext); if (plaintext == "") { if (AppParams.isSysadmin) { ribbonCBAnsicht.SelectedIndex = 1; } else { ribbonCBAnsicht.SelectedIndex = 0; } return; } currentview = dataRow; using (MemoryStream ms = new MemoryStream(bytes)) { this.sfDataGrid1.Deserialize(ms); } sfDataGrid1.ShowToolTip = true; sfDataGrid1.FilterRowPosition = RowPosition.Top; tsrbvorschau.SelectedIndex = Convert.ToInt32(dataRow["Preview"]); RibbonButtonAttributeEinAusblenden.Checked = Convert.ToInt32(dataRow["Attributes"]) == 1; Logging.Logging.Debug("Vorschau selectedind", "", ""); if (tsrbvorschau.SelectedIndex != 0 && Convert.ToInt32(dataRow["SplitterDistance"]) != 0) { this.splitContainer1.SplitterDistance = Convert.ToInt32(dataRow["SplitterDistance"]); this.docPreview1.set_zoom(); } else { // docPreview1.clear_viewer(); } show_hide_attribute(); try { this.sfDataGrid1.SelectedItem = this.sfDataGrid1.View.Records[0]; sfDataGrid1.SelectedIndex = 0; } catch { this.selected_dokumentid = ""; } System.Windows.Forms.Application.DoEvents(); //if (clist.Count > 0) { // foreach (string s in clist) // { // sfDataGrid1.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = s }); // } //} } catch { } } public static string Decode(string text) { text = text.Replace('_', '/').Replace('-', '+'); switch (text.Length % 4) { case 2: text += "=="; break; case 3: text += "="; break; } return Encoding.UTF8.GetString(Convert.FromBase64String(text)); } private void ribbonButton4_Click(object sender, EventArgs e) { } private void ribbonCBAnsicht_DropDownItemClicked(object sender, System.Windows.Forms.RibbonItemEventArgs e) { try { int selecteditem = Convert.ToInt32(e.Item.Tag); if (selecteditem == -999) { RibbonButtonViewStandard_Click(sender, e); return; } foreach (System.Data.DataRow dr in Ansichten.Rows) { if (Convert.ToInt32(dr["id"]) == selecteditem) { sfDataGrid1.ClearFilters(); sfDataGrid1.ClearGrouping(); sfDataGrid1.ClearSelection(); sfDataGrid1.ClearSorting(); //refresh_view(dr["gridsettings"].ToString()); refresh_view(dr); } } } catch (Exception ex) { //MessageBox.Show(ex.Message); } } private void RibbonButtonViewStandard_Click(object sender, EventArgs e) { sfDataGrid1.ClearFilters(); sfDataGrid1.ClearGrouping(); sfDataGrid1.ClearSelection(); sfDataGrid1.ClearSorting(); ribbonCBAnsicht.SelectedIndex = 1; } private void RibbonButtonViewSave_Click(object sender, EventArgs e) { SaveAnsicht sa = new SaveAnsicht(); sa.ShowDialog(); if (sa.DialogResult == DialogResult.OK) { MemoryStream ms = new MemoryStream(); this.sfDataGrid1.Serialize(ms); string inputAsString = Convert.ToBase64String(ms.ToArray()); DB db = new DB(AppParams.connectionstring); if (sa.alsStandard == 1) { db.Exec_SQL("Update mitarbeiter_gridsettings set standard=0 where mitarbeiterid=" + AppParams.CurrentMitarbeiter.ToString()); } int distance = 0; if (tsrbvorschau.SelectedIndex != 0) { distance = this.splitContainer1.SplitterDistance; } int Attribute = 0; if (RibbonButtonAttributeEinAusblenden.Checked) { Attribute = 1; } string sql = "insert Mitarbeiter_GridSettings (mitarbeiterid, erstellt_am, aktiv, bezeichnung, gridsettings,standard, Preview, Attributes,splitterdistance) values("; sql = sql + AppParams.CurrentMitarbeiter.ToString() + ",getdate(),1,'" + sa.selectedtext + "','" + inputAsString + "'," + sa.alsStandard.ToString(); sql = sql + ", " + tsrbvorschau.SelectedIndex.ToString() + ", " + Attribute.ToString() + ", " + distance.ToString() + ")"; //db.Exec_SQL(sql); db.Get_Tabledata_for_Update("Select * from mitarbeiter_gridsettings where id = -1", false, true); System.Data.DataRow dr = db.daten.Tables[0].NewRow(); dr[1] = AppParams.CurrentMitarbeiter.ToString(); dr[2] = DateTime.Now; dr[3] = true; dr[4] = sa.selectedtext; dr[5] = inputAsString; dr[6] = sa.alsStandard; dr[7] = tsrbvorschau.SelectedIndex; dr[8] = Attribute; dr[9] = distance; db.daten.Tables[0].Rows.Add(dr); db.Update_Data(); db = null; if (sa.alsStandard != 1) { refresh_ansichten(sa.selectedtext); } else { refresh_ansichten(); } } } private void RibbonButtonViewDelete_Click(object sender, EventArgs e) { string bez = ribbonCBAnsicht.SelectedItem.Text.Trim(); int ID = Convert.ToInt32(ribbonCBAnsicht.SelectedItem.Tag); if (ID < 0) { MessageBox.Show("Die gewählte Standard-Ansicht kann nicht gelöscht werden", "Ansicht löschen", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (MessageBox.Show("Aktuelle Ansicht löschen?", "Ansicht löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DB db = new DB(AppParams.connectionstring); foreach (System.Data.DataRow dr in Ansichten.Rows) { if (dr["bezeichnung"].ToString() == ribbonCBAnsicht.SelectedItem.Text) { db.Exec_SQL("Update mitarbeiter_gridsettings set aktiv=0 where id=" + dr["id"].ToString()); } } db = null; ribbonCBAnsicht.SelectedIndex = 1; refresh_ansichten(); } } private void ribbonButton4_Click_1(object sender, EventArgs e) { //using (var file = File.Open(@"x:\DataGrid.xml", FileMode.Open)) //{ // this.sfDataGrid1.Deserialize(file); //} string bez = ribbonCBAnsicht.SelectedItem.Text.Trim(); string id = ribbonCBAnsicht.SelectedItem.Tag.ToString(); if (id == "-100" || id == "-101") { if (MessageBox.Show("Standard-Ansicht " + bez + " überschreiben?", "Ansichten", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { MemoryStream ms = new MemoryStream(); this.sfDataGrid1.Serialize(ms); string inputAsString = Convert.ToBase64String(ms.ToArray()); DB db = new DB(AppParams.connectionstring); db.Exec_SQL("Update mitarbeiter_gridsettings set gridsettings='" + inputAsString + "' where id=" + id.ToString()); db = null; //using (var file = File.Create(@"x:\DataGrid.xml")) //{ // SerializationOptions options = new SerializationOptions(); // options.SerializeSorting = false; // this.sfDataGrid1.Serialize(file, options); //} } } } private void archivierenToolStripMenuItem_Click(object sender, EventArgs e) { RibbonButtonArchivToOnBase_Click(sender, e); } private void ribbonButtonNativVorlagen_Click(object sender, EventArgs e) { NativVorlagen nv = new NativVorlagen(); nv.Show(); } private void show_hide_attribute() { if (RibbonButtonAttributeEinAusblenden.Checked) { dokwerte1.Width = 300; dokwerte1.set_panelheight(sfDataGrid1.GroupPanel.Height, sfDataGrid1.GroupPanel.BackColor); if (selected_dokumentid != null && selected_dokumentid != "" && get_selected_records() > 0) { dokwerte1.Update_Werte(selected_dokumentid); } } else { dokwerte1.Width = 0; RibbonButtonAttributeEinAusblenden.Checked = false; } } private void attributeAnzeigenVersteckenToolStripMenuItem_Click(object sender, EventArgs e) { if (RibbonButtonAttributeEinAusblenden.Checked) { RibbonButtonAttributeEinAusblenden.Checked = false; } else { RibbonButtonAttributeEinAusblenden.Checked = true; } show_hide_attribute(); update_currentview(); } //if (dokwerte1.Width == 0) //{ // dokwerte1.Width = 300; // dokwerte1.set_panelheight(sfDataGrid1.GroupPanel.Height, sfDataGrid1.GroupPanel.BackColor); // dokwerte1.Update_Werte(selected_dokumentid); // RibbonButtonAttributeEinAusblenden.Checked = true; //} //else //{ // dokwerte1.Width = 0; // RibbonButtonAttributeEinAusblenden.Checked = false; //} private void RibbonButtonAttributeEinAusblenden_Click(object sender, EventArgs e) { attributeAnzeigenVersteckenToolStripMenuItem_Click(sender, e); } private void sfDataGrid1_CurrentCellActivated(object sender, CurrentCellActivatedEventArgs e) { } private void sfDataGrid1_ToolTipOpening(object sender, ToolTipOpeningEventArgs e) { return; e.ToolTipInfo.Items.Clear(); Syncfusion.WinForms.Controls.ToolTipItem tt = new Syncfusion.WinForms.Controls.ToolTipItem(); tt.Text = "Ich bin der Tooltip"; e.ToolTipInfo.Items.Add(tt); } private void sfDataGrid1_CopyContent(object sender, CutCopyPasteEventArgs e) { e.Cancel = true; zellenwertInZwischenablageKopierenToolStripMenuItem_Click(sender, e); } private void sfDataGrid1_ToolTipOpening_1(object sender, ToolTipOpeningEventArgs e) { switch (e.Column.MappingName.ToLower()) { case "prüfung_rechts": if (e.DisplayText.Contains("Abgelehnt")) { Syncfusion.Data.RecordEntry record = sfDataGrid1.View.GetRecordAt(e.RowIndex - 1); var a = record.Data; var b = a as DataRowView; string x = b["dokumentid"].ToString(); DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("select top 1 betreff, notizgrund, mutiert_am from dokument_bewilligung where dokumentid='" + x + "' and bewilligungstyp=2 and abgelehnt=1 order by mutiert_am desc", false, true); try { Syncfusion.WinForms.Controls.ToolTipItem t = new Syncfusion.WinForms.Controls.ToolTipItem(); t.Text = db.dsdaten.Tables[0].Rows[0]["mutiert_am"].ToString() + //Environment.NewLine + Environment.NewLine + db.dsdaten.Tables[0].Rows[0]["betreff"].ToString() + Environment.NewLine + Environment.NewLine + db.dsdaten.Tables[0].Rows[0]["Notizgrund"].ToString(); System.Drawing.Font tf = new System.Drawing.Font(t.Style.Font.FontFamily, 10, FontStyle.Bold); t.Style.TextAlignment = ContentAlignment.MiddleLeft; t.Style.BackColor = Color.FromArgb(255, 102, 0); t.Style.Font = tf; e.ToolTipInfo.Items.Add(t); db = null; } catch { } db = null; } //var record1 = sfDataGrid1.View.Records.GetItemAt(e.RowIndex); break; case "prüfung_links": if (e.DisplayText.Contains("Abgelehnt")) { Syncfusion.Data.RecordEntry record = sfDataGrid1.View.GetRecordAt(e.RowIndex - 1); var a = record.Data; var b = a as DataRowView; string x = b["dokumentid"].ToString(); DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("select top 1 betreff, notizgrund, mutiert_am from dokument_bewilligung where dokumentid='" + x + "' and bewilligungstyp=2 and abgelehnt=1 order by mutiert_am desc", false, true); try { Syncfusion.WinForms.Controls.ToolTipItem t = new Syncfusion.WinForms.Controls.ToolTipItem(); t.Text = db.dsdaten.Tables[0].Rows[0]["mutiert_am"].ToString() + Environment.NewLine + Environment.NewLine + db.dsdaten.Tables[0].Rows[0]["betreff"].ToString() + Environment.NewLine + Environment.NewLine + db.dsdaten.Tables[0].Rows[0]["Notizgrund"].ToString(); System.Drawing.Font tf = new System.Drawing.Font(t.Style.Font.FontFamily, 10, FontStyle.Bold); t.Style.TextAlignment = ContentAlignment.MiddleLeft; t.Style.BackColor = Color.FromArgb(255, 102, 0); t.Style.Font = tf; e.ToolTipInfo.Items.Add(t); db = null; } catch { } db = null; } break; } //System.Drawing.Point p = new System.Drawing.Point(Location.X, Location.Y); //var rowColIndex = sfDataGrid1.TableControl.PointToCellRowColumnIndex(p); //var mouseDownRecordIndex = this.sfDataGrid1.TableControl.ResolveToRecordIndex(rowColIndex.RowIndex); //if (!(mouseDownRecordIndex < 0)) //{ // //if (ObjList.Count != 0) // // selectedItem = ObjList[mouseDownRecordIndex]; //} return; //e.ToolTipInfo.Items.Clear(); //Syncfusion.WinForms.Controls.ToolTipItem tt = new Syncfusion.WinForms.Controls.ToolTipItem(); //tt.Text = "Hallo Du"; //e.ToolTipInfo.Items.Add(tt); } private void ribbonButtonVorlagenfeldregel_Click(object sender, EventArgs e) { TableEditor tb = new TableEditor("Vorlagenfeldregel"); tb.Show(); } public int get_selected_records() { try { return sfDataGrid1.View.Records.Count; } catch { return 0; } } private void sfDataGrid1_DataSourceChanged(object sender, Syncfusion.WinForms.DataGrid.Events.DataSourceChangedEventArgs e) { try { dokwerte1.clear_details(); docPreview1.clear_viewer(); if (get_selected_records() == 0) { RibbonButtonEditEditDoc.Enabled = false; ribbibButtonShowDoc.Enabled = false; RibbonButtonEditDelete.Enabled = false; RibbonButtonZuweisen.Enabled = false; ribbonButtonToApproval.Enabled = false; RibbonButtonArchivToOnBase.Enabled = false; dokumentBearbeitenToolStripMenuItem.Enabled = false; dokumentLöschenToolStripMenuItem.Enabled = false; druckenToolStripMenuItem.Enabled = false; dokumentKopierenToolStripMenuItem.Enabled = false; attributeAnzeigenVersteckenToolStripMenuItem.Enabled = false; historyToolStripMenuItem.Enabled = false; archivierenToolStripMenuItem.Enabled = false; zellenwertInZwischenablageKopierenToolStripMenuItem.Enabled = false; selected_dokumentid = ""; selected_partnernr = ""; selected_cellvalue = ""; } else { RibbonButtonEditEditDoc.Enabled = true; ribbibButtonShowDoc.Enabled = true; RibbonButtonEditDelete.Enabled = true; RibbonButtonZuweisen.Enabled = true; ribbonButtonToApproval.Enabled = true; RibbonButtonArchivToOnBase.Enabled = true; dokumentBearbeitenToolStripMenuItem.Enabled = true; dokumentLöschenToolStripMenuItem.Enabled = true; archivierenToolStripMenuItem.Enabled = true; zellenwertInZwischenablageKopierenToolStripMenuItem.Enabled = true; druckenToolStripMenuItem.Enabled = true; dokumentKopierenToolStripMenuItem.Enabled = true; attributeAnzeigenVersteckenToolStripMenuItem.Enabled = true; historyToolStripMenuItem.Enabled = true; this.sfDataGrid1.SelectedItem = this.sfDataGrid1.View.Records[0]; //gaga try { sfDataGrid1.SelectedIndex = 0; } catch { } var record = sfDataGrid1.View.Records.GetItemAt(sfDataGrid1.SelectedIndex); // var changed = DrugGrid.View.GetPropertyAccessProvider().SetValue(record, "GPackSize", "Hello"); // returns true, suggesting selected_dokumentid = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "dokumentid").ToString(); selected_partnernr = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "partner-nr").ToString(); selected_cellvalue = selected_dokumentid; string bearbeitung_zwingend = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "Bearbeitung_Zwingend").ToString(); string toapprove = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "toapprove").ToString(); string approved = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "approved").ToString(); string faksimle = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "faksimile").ToString(); update_ansicht(bearbeitung_zwingend, toapprove, approved, faksimle); } } catch { } } private void sfDataGrid1_FilterChanged(object sender, FilterChangedEventArgs e) { update_currentview(); refresh_dokumente(); } public void dokpaket_update_grid() { if (get_selected_records() == 0) { RibbonButtonEditEditDoc.Enabled = false; ribbibButtonShowDoc.Enabled = false; RibbonButtonEditDelete.Enabled = false; RibbonButtonZuweisen.Enabled = false; ribbonButtonToApproval.Enabled = false; RibbonButtonArchivToOnBase.Enabled = false; dokumentBearbeitenToolStripMenuItem.Enabled = false; dokumentLöschenToolStripMenuItem.Enabled = false; archivierenToolStripMenuItem.Enabled = false; zellenwertInZwischenablageKopierenToolStripMenuItem.Enabled = false; selected_dokumentid = ""; selected_partnernr = ""; selected_cellvalue = ""; } else { RibbonButtonEditEditDoc.Enabled = true; ribbibButtonShowDoc.Enabled = true; RibbonButtonEditDelete.Enabled = true; RibbonButtonZuweisen.Enabled = true; ribbonButtonToApproval.Enabled = true; RibbonButtonArchivToOnBase.Enabled = true; dokumentBearbeitenToolStripMenuItem.Enabled = true; dokumentLöschenToolStripMenuItem.Enabled = true; archivierenToolStripMenuItem.Enabled = true; zellenwertInZwischenablageKopierenToolStripMenuItem.Enabled = true; this.sfDataGrid1.SelectedItem = this.sfDataGrid1.View.Records[0]; sfDataGrid1.SelectedIndex = 0; var record = sfDataGrid1.View.Records.GetItemAt(sfDataGrid1.SelectedIndex); // var changed = DrugGrid.View.GetPropertyAccessProvider().SetValue(record, "GPackSize", "Hello"); // returns true, suggesting selected_dokumentid = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "dokumentid").ToString(); selected_partnernr = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "partner-nr").ToString(); selected_cellvalue = selected_dokumentid; string bearbeitung_zwingend = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "Bearbeitung_Zwingend").ToString(); string toapprove = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "toapprove").ToString(); string approved = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "approved").ToString(); string faksimile = sfDataGrid1.View.GetPropertyAccessProvider().GetValue(record, "faksimile").ToString(); update_ansicht(bearbeitung_zwingend, toapprove, approved, faksimile); } } private void ribbonButtonSysadmins_Click(object sender, EventArgs e) { TableEditor tb = new TableEditor("ondoc_admin"); tb.Show(); } private void ribbonbuttonedklog_Click(object sender, EventArgs e) { edk_viewer ev = new edk_viewer(); ev.Show(); } private void ribbonbuttonedkverarbeitung_Click(object sender, EventArgs e) { TableEditor tb = new TableEditor("OnDoc_EDK_Routing"); tb.Show(); } private void sfDataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count > 1) { foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["Bearbeitung_Zwingend"].ToString(); if (datarow["Bearbeitung_Zwingend"].ToString() == "True") { RibbonButtonArchivToOnBase.Enabled = false; archivierenToolStripMenuItem.Enabled = false; break; } if (datarow["ToApprove"].ToString() == "True" && datarow["approved"].ToString() == "False") { RibbonButtonArchivToOnBase.Enabled = false; archivierenToolStripMenuItem.Enabled = false; break; } } } } private void ribbonButton6_Click(object sender, EventArgs e) { refresh_dokumente(); } private void historyToolStripMenuItem_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } DokHistory dh = new DokHistory(selected_dokumentid); dh.ShowDialog(); } private void dokumentKopierenToolStripMenuItem_Click(object sender, EventArgs e) { var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } if (MessageBox.Show("Gewähltes Dokument kopieren?", "Dokument kopieren", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DB db = new DB(AppParams.connectionstring); string newdocid = db.copydoc(selected_dokumentid, AppParams.CurrentMitarbeiter); db = null; if (newdocid == "") { MessageBox.Show("Das Dokument ID:'" + selected_dokumentid + "' konnte nicht kopiert werden.", "Dokument kopieren", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Das Dokument wurde erfolgreich kopiert. Neue Dokument.ID:'" + newdocid + "'.", "Dokument kopieren", MessageBoxButtons.OK, MessageBoxIcon.Information); Logging.DocLog.Info("Dokumentkopie von '" + selected_dokumentid + "' erstellt", "OnDoc.DocList'", newdocid, "", "Dokumentkopie erstellt"); refresh_dokumente(); } } } private void sfDataGrid1_CellDoubleClick(object sender, CellClickEventArgs e) { sfDataGrid1_CellClick(sender, e); dokumentBearbeitenToolStripMenuItem_Click(sender, e); } private void ribbonButtonApproval_Click_1(object sender, EventArgs e) { Refresh_Bewilligungen(); if (this.ribbonLabelToApprove.Text == "") { MessageBox.Show("Es stehen keine Dokumente zur Unterschriftenprüfung an.", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } frmBewilligung bw = new frmBewilligung(); bw.Show(); } private void lblToApprove_TextChanged(object sender, EventArgs e) { } private void sfDataGrid1_ColumnResizing(object sender, ColumnResizingEventArgs e) { update_currentview(); } private void ribbonPanel3_Click(object sender, EventArgs e) { AdminDokTypGenerierung ag = new AdminDokTypGenerierung(); ag.Show(); } private void RibbonButtonNewDoc_DoubleClick(object sender, EventArgs e) { } private void dokumentFürPartnerErstellenToolStripMenuItem_Click(object sender, EventArgs e) { try { createnewdoc(Convert.ToInt32(selected_partnernr), 0); } catch { } } private void zurUnterschriftenPrüfungToolStripMenuItem_Click(object sender, EventArgs e) { ribbonButtonToApproval_Click(sender, e); } private void RibbonCBProfil_Click(object sender, EventArgs e) { // this.profilnr = Convert.ToInt32(this.RibbonCBProfil.SelectedValue); } private void RibbonCBProfil_DropDownItemClicked(object sender, System.Windows.Forms.RibbonItemEventArgs e) { this.profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag); } private void ctxMenuDokList_Opening(object sender, CancelEventArgs e) { if (this.sfDataGrid1.GroupColumnDescriptions.Count > 0) { gruppenÖffnenToolStripMenuItem.Visible = true; gruppenSchliessenToolStripMenuItem.Visible = true; toolStripMenuItem3.Visible = true; } else { gruppenÖffnenToolStripMenuItem.Visible = false; gruppenSchliessenToolStripMenuItem.Visible = false; toolStripMenuItem3.Visible = false; } //var location = this.PointToClient(Cursor.Position); ////System.Drawing.Point location = new System.Drawing.Point(); // //location.X = Cursor.Position.X; // //location.Y = Cursor.Position.Y; //MessageBox.Show(location.X.ToString() + " / " + location.Y.ToString()); } private void gruppenÖffnenToolStripMenuItem_Click(object sender, EventArgs e) { this.sfDataGrid1.ExpandAllGroup(); } private void gruppenSchliessenToolStripMenuItem_Click(object sender, EventArgs e) { this.sfDataGrid1.CollapseAllGroup(); } private void gruppenÖffnenToolStripMenuItem1_Click(object sender, EventArgs e) { gruppenÖffnenToolStripMenuItem_Click(sender, e); } private void gruppenSchliessenToolStripMenuItem1_Click(object sender, EventArgs e) { gruppenSchliessenToolStripMenuItem_Click(sender, e); } private void ribbonbuttonnewparterdoc_Click(object sender, EventArgs e) { createnewdoc(this.partnernr, 0); } private void dokumentUnterzeichnenToolStripMenuItem_Click(object sender, EventArgs e) { if (!row_selected()) return; var records = sfDataGrid1.View.GetSelectedRecords(); int error = 0; foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); string aktion = datarow["aktion"].ToString(); if (aktion != "Geprüft/Unterzeichnen") { error = 1; } // dokument_bearbeiten(documentid, false); } if (error > 0) { MessageBox.Show("Nur Dokumente wählen, welche zum Unterzeichnen sind", "Dokumente unterzeichnen", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (records.Count > 1) { if (MessageBox.Show("Mehrere Dokumente unterzeichnen", "Dokument unterzeichnen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } } foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); DOCGEN.DocGen dg = new DocGen(AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey); if (dg.signdoc(selected_dokumentid, AppParams.tempdir)) { DB db = new DB(AppParams.connectionstring); db.Exec_SQL("Update Dokument set signiert=1, mutierer=" + AppParams.CurrentMitarbeiter.ToString() + ", mutiertam=getdate() where dokumentid='" + documentid + "'"); } } } private void ribbibButtonShowDoc_Click(object sender, EventArgs e) { dokumentAnzeigenToolStripMenuItem_Click(sender, e); } private void ribbonButtonDokinBearbeitung_Click(object sender, EventArgs e) { TableEditor te = new TableEditor("DokInBearbeitung"); te.Show(); } private void ribbonbtnqdf_Click(object sender, EventArgs e) { qdfLog ql = new qdfLog(); ql.Show(); } private void ribbonButtonNewPersonDok_Click(object sender, EventArgs e) { createnewdoc(this.personnr,0); } private void ribbonbuttonPartnerlist_Click(object sender, EventArgs e) { refresh_dokumente(); } private void ribbonbuttonPersonlist_Click(object sender, EventArgs e) { refresh_dokumente("", true); } } }