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; namespace OnDoc.UICintrols { public partial class DokList : UserControl, IMessageListener1 { public int partnernr { get; set; } = 0; 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 string 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(); Broadcaster().AddListener(this); //t_functions(); pos_elements(); } public void OnListen(string message, SenderInfo sender) { if (sender.SenderName is "PreviewWindow") { if (sender.Function == "WindowClosed") { this.Separate_Vorschau_offen = false; } } } 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(); } 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.CurrentMitarbieter.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.CurrentMitarbieter.ToString()); db.Get_Tabledata("sp_ondoc_get_magridveiw", true, false); Ansichten = db.dsdaten.Tables[0].Copy(); string standardview = ""; 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(); } if (Convert.ToInt32(rl.Tag) != -102 ) { ribbonCBAnsicht.DropDownItems.Add(rl); } if (Convert.ToBoolean(dr["standard"]) == true && Bezeichnung == "") { ribbonCBAnsicht.SelectedItem = rl; standardview = dr["gridsettings"].ToString(); } if (rl.Text == Bezeichnung) { ribbonCBAnsicht.SelectedItem = rl; standardview = dr["gridsettings"].ToString(); } } db = null; if (standardview != "") { 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_dokumente(string layout = "") { 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(); dokumente = db.Get_Dokumente(partnernr, 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; 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) { if (dokwerte1.Width > 0) { dokwerte1.Update_Werte(selected_dokumentid); } 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; } docPreview1.Show_Doc(selected_dokumentid); docPreview1.Hide_Editbuttons(); } private void sfDataGrid1_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { 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()); 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 = ""; 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) { clsdok dok = GetDoc(false); OpenDoc(dok, false); } private void dokumentBearbeitenToolStripMenuItem_Click(object sender, EventArgs e) { 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); } } public void dokument_bearbeiten(string dokid) { if (dokid != "") { selected_dokumentid = dokid; } clsdok dok = GetDoc(false); if (dok.dokument == "") return; DB db = new DB(AppParams.connectionstring); if (db.Dok_in_Bearbeietung(3, selected_dokumentid, AppParams.CurrentMitarbieter) == false) { MessageBox.Show("Das Dokument wird aktuell bearbeitet.", "Dokumentbearbeitung", 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.CurrentMitarbieter) { if (MessageBox.Show("Durch die Bearbeitung wird die Dokument-Verantwortung übernommen.", "Dokumentbearbieutng", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK) { db.Exec_SQL("Update dokument set verantwortlich=" + AppParams.CurrentMitarbieter.ToString() + " where dokumentid='" + selected_dokumentid + "'"); Logging.DocLog.Info("Verantwortung für Bearbeitung übernommen", "Doklist", selected_dokumentid, selected_partnernr, "Verantwortung übernommen"); } } db.Dok_in_Bearbeietung(1, selected_dokumentid, AppParams.CurrentMitarbieter); db = null; Logging.DocLog.Info("Dokument bearbeiten", "Doklist", selected_dokumentid, selected_partnernr, "Dokument bearbeiten: InterOP: " + interop.ToString()); 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) { 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); //System.Diagnostics.Process.Start(tempfilename); if (interop == true) { OnDocOffice.clsWordEdit WordInterOP = new OnDocOffice.clsWordEdit(AppParams.connectionstring, tempfilename, selected_dokumentid); WordInterOP.Edit_Document(runmacros); WordInterOP = null; } else { System.Diagnostics.Process.Start("winword.exe", "/w " + 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); if (interop == true) { OnDocOffice.clsExcelEdit ExcelInterOP = new OnDocOffice.clsExcelEdit(AppParams.connectionstring, tempfilename, selected_dokumentid); ExcelInterOP.Edit_Document(); 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); 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; } private void RibbonBtnVorschauUnten_Click(object sender, EventArgs e) { if (tsrbvorschau.SelectedIndex == 1) { tsrbvorschau.SelectedIndex = 0; } else { tsrbvorschau.SelectedIndex = 1; } } private void RibbonButtonVorschauRechts_Click(object sender, EventArgs e) { if (tsrbvorschau.SelectedIndex == 2) { tsrbvorschau.SelectedIndex = 0; } else { tsrbvorschau.SelectedIndex = 2; } } private void RibbonBtnVorschauSepparat_Click(object sender, EventArgs e) { 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); dp.Show(); } 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.Visible = false; frmnewdok.Show(); frmnewdok.Dokument_Erstellen(); frmnewdok.Dispose(); } else { frmnewdok.ShowDialog(); refresh_dokumente(); } switch (frmnewdok.DocFunction) { case 1: if (frmnewdok.dokumentid != "") { selected_dokumentid = frmnewdok.dokumentid; selected_partnernr = frmnewdok.partnernr.ToString(); ; interop = frmnewdok.interop; runmacros = frmnewdok.runmacros; dokument_bearbeiten(selected_dokumentid); } 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.Dok_in_Bearbeietung(1, selected_dokumentid, AppParams.CurrentMitarbieter); db = null; clsProcessWatch.AddToList(selected_dokumentid, filename, "Word"); 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.CurrentMitarbieter.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.CurrentMitarbieter); 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) { if (!row_selected()) return; InputDialog ma = new InputDialog(true, "Verantwortlichkeit wechseln zu"); ma.ShowDialog(); if (ma.DialogResult == DialogResult.OK) { DB dB = new DB(AppParams.connectionstring); dB.Exec_SQL("Update dokument set verantwortlich=" + ma.result + " where dokumentid = '" + selected_dokumentid + "'"); dB = null; Logging.DocLog.Info("Verantwortung zugewiesen auf " + ma.result.ToString(), "Doklist", selected_dokumentid, selected_partnernr, "Verantwortung zugewiesen"); 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) { Serienbrief sb = new Serienbrief(this.profilnr); sb.Show(); } private void RibbonButtonNewDoc_Click(object sender, EventArgs e) { createnewdoc(0, 0); } public void hide_panels() { refresh_ansichten(""); this.RibbonButtonFavoriten.Visible = false; this.RibbonPanelSuche.Visible = false; this.RibbonPannelAproval.Visible = false; this.lblToApprove.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.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) { 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 == "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 == 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 { } } 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); op.PrintInWord(Filename, AppParams.wordprintmacro); System.IO.File.Delete(Filename); op = null; break; case "X": System.Diagnostics.Process.Start("winword.exe", "/w " + Filename); break; case "P": DocPreview docPreview = new DocPreview(); docPreview.Show_Doc(dokumentid); docPreview.printpdf(); docPreview.Dispose(); 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); } 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(); 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) archiviern und abschliessen", "Dokument archivieren und abschliessen", 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(); archivedoc(documentid); } 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 void ribbonButtonVersandstrasse_Click(object sender, EventArgs e) { Versandpakete versandpakete = new Versandpakete(); Versandpaket paket = new Versandpaket(); paket.Versandoption = "1"; paket.Mitteilung = ""; paket.GAS = ""; paket.GASAdresse = ""; paket.PaketNr = "1"; var records = sfDataGrid1.View.GetSelectedRecords(); if (records.Count < 1) { return; } // string[] selectedDokument = new string[records.Count]; int i = 0; paket.Dokument = new List(); foreach (var record in records) { var datarow = record as DataRowView; paket.Dokument.Add(new Versanddokument(datarow["dokumentid"].ToString(), datarow["doktyp"].ToString(), datarow["partner-nr"].ToString())); i++; } versandpakete.paket = new List(); versandpakete.paket.Add(paket); OnDoc.Versandstrasse.Versandstrasse vs = new OnDoc.Versandstrasse.Versandstrasse(versandpakete); vs.Show(); dokumentAnVersandstrasseToolStripMenuItem.Visible = true; } private void RibbonButtonFavoriten_Click(object sender, EventArgs e) { createnewdoc(0, 0, true); } private void ribbonButtonApproval_Click(object sender, EventArgs e) { Refresh_Bewilligungen(); if (this.lblToApprove.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; frmToApproval fa = new frmToApproval(); fa.dokumentid = selected_dokumentid; fa.ShowDialog(); } public void upruefung() { Refresh_Bewilligungen(); if (this.lblToApprove.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() { DB db = new DB(AppParams.connectionstring); db.Get_Tabledata("Select count(*) from view_relaunch_approval where bewilligt=0 and abgelehnt = 0 and mitarbeiter_bewilligung=" + AppParams.CurrentMitarbieter.ToString(), false, true); if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) == 0) { this.lblToApprove.Text = ""; } else { this.lblToApprove.Text = db.dsdaten.Tables[0].Rows[0][0].ToString(); lblToApprove.Visible = true; } db = null; } 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(this); security = null; ribbonVorlagen.Visible = AppParams.isSysadmin; ribbonBerechtigung.Visible = AppParams.isSysadmin; ribbonpanelanalyse.Visible = AppParams.isSysadmin; RibbonTabAdmin.Visible = false; RibbonTabAdmin.Visible = true; ribbonSaveGridView.Enabled = AppParams.isSysadmin; ribbonSaveGridView.Visible = AppParams.isSysadmin; //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"); 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; if (ps.partnersaldiert) { RibbonPartnerSaldiert.Visible = true; } else { RibbonPartnerSaldiert.Visible = false; } 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; RibbonFilterDelete.Visible = false; } private void ribbonbuttonlogin_Click(object sender, EventArgs e) { frmLogin frmLogin = new frmLogin(); frmLogin.ShowDialog(); if (frmLogin.DialogResult == DialogResult.OK) { AppParams.CurrentMitarbieter = frmLogin.selectedmitarbeiternr; DB db = new DB(AppParams.connectionstring); this.mitarbeiternr = AppParams.CurrentMitarbieter; db.Get_Tabledata("Select * from mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbieter.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) { 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=plaintext; using (MemoryStream ms = new MemoryStream(bytes)) { this.sfDataGrid1.Deserialize(ms); } sfDataGrid1.ShowToolTip = true; System.Windows.Forms.Application.DoEvents(); } 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) { if (System.IO.File.Exists(@"x:\gridsettings.xml")) { using (var file = File.Open(@"x:\gridsettings.xml", FileMode.Open)) { this.sfDataGrid1.Deserialize(file); } } } 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()); } } } catch { } } 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.CurrentMitarbieter.ToString()); } string sql = "insert Mitarbeiter_GridSettings (mitarbeiterid, erstellt_am, aktiv, bezeichnung, gridsettings,standard) values("; sql = sql + AppParams.CurrentMitarbieter.ToString() + ",getdate(),1,'" + sa.selectedtext + "','" + inputAsString + "'," + sa.alsStandard.ToString() + ")"; db.Exec_SQL(sql); db = null; if (sa.alsStandard != 1) { refresh_ansichten(sa.selectedtext); } else { refresh_ansichten(); } //using (var file = File.Create(@"x:\gridsettings4.xml")) //{ // this.sfDataGrid1.Serialize(file); //} } } 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; refresh_ansichten(); } } private void ribbonButton4_Click_1(object sender, EventArgs e) { 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; } } } 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 attributeAnzeigenVersteckenToolStripMenuItem_Click(object sender, EventArgs e) { if (dokwerte1.Width == 0) { dokwerte1.Width = 300; dokwerte1.set_panelheight(sfDataGrid1.GroupPanel.Height, sfDataGrid1.GroupPanel.BackColor); dokwerte1.Update_Werte(selected_dokumentid); } else { dokwerte1.Width = 0; } } 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) { 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) { //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) { if (get_selected_records() == 0) { RibbonButtonEditEditDoc.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; 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]; 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(); update_ansicht(bearbeitung_zwingend, toapprove, approved); } } private void sfDataGrid1_FilterChanged(object sender, FilterChangedEventArgs e) { refresh_dokumente(); } public void dokpaket_update_grid() { if (get_selected_records() == 0) { RibbonButtonEditEditDoc.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; 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(); update_ansicht(bearbeitung_zwingend, toapprove, approved); } } 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.CurrentMitarbieter); 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); } } }