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 Windows.UI.Input.Preview.Injection; using Windows.UI.WebUI; using Windows.ApplicationModel.VoiceCommands; 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; public string Search_Docid { 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; } } } 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() { 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); } } public void refresh_dokumente() { if (datafilter != "") { refresh_dokumente_filtered(); 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"); TableHelper.FormatTable(ref dokumente, "trefferliste_relaunch", ref this.sfDataGrid1); //this.sfDataGrid1.DataSource = dokumente; sfDataGrid1.View.AutoExpandGroups = true; this.timer1.Enabled = true; } public void refresh_dokumente_filtered() { DB db = new DB(AppParams.connectionstring); int selectedIndex = RibbonCBProfil.SelectedIndex; try { profilnr = Convert.ToInt32(RibbonCBProfil.SelectedItem.Tag.ToString()); } catch { } System.Data.DataTable dokumente = new System.Data.DataTable(); dokumente = db.Get_Dokumente(partnernr, docartnr, profilnr, forMaNr, Search_Docid, false); dokumente.DefaultView.RowFilter = datafilter; // TableHelper.SetColumnsOrder(dokumente, "trefferliste"); TableHelper.FormatTable(ref dokumente, "trefferliste_relaunch", ref this.sfDataGrid1); //this.sfDataGrid1.DataSource = dokumente; } private void sfDataGrid1_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e) { string documentid = ""; try { 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[e.DataColumn.ColumnIndex].ToString(); 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; dokument_bearbeiten(); } public void dokument_bearbeiten() { 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 / 2; 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) { tsrbvorschau.SelectedIndex = 1; } private void RibbonButtonVorschauRechts_Click(object sender, EventArgs e) { tsrbvorschau.SelectedIndex = 2; } private void RibbonBtnVorschauSepparat_Click(object sender, EventArgs e) { 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 StartPruefung() { ribbonButtonApproval_Click(null, null); } 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; } } int selectedIndex = RibbonCBProfil.SelectedIndex; 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(); } 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(); } break; case 2: if (frmnewdok.dokumentid != "") { dokument_loeschen(frmnewdok.dokumentid); } break; case 3: break; case 4: archivedoc(frmnewdok.dokumentid); break; case 5: 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("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"); } } 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() { 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 ; } private void sfDataGrid1_DrawCell(object sender, DrawCellEventArgs e) { 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 (dataRow[11].ToString() != "1") { if (Convert.ToBoolean(dataRow[16]) == true) { if (Convert.ToBoolean(dataRow[17]) == 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); } } if (dataRow[0].ToString().Substring(0, 1).ToUpper() == "X") { if (dataRow[11].ToString() != "1") if (Convert.ToBoolean(dataRow[16]) == true) { if (Convert.ToBoolean(dataRow[17]) == 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); } catch { } } } private void zellenwertInZwischenablageKopierenToolStripMenuItem_Click(object sender, EventArgs e) { System.Windows.Forms.Clipboard.SetText(selected_cellvalue); } private void sfDataGrid1_CurrentCellKeyDown(object sender, CurrentCellKeyEventArgs e) { } private void sfDataGrid1_KeyDown(object sender, KeyEventArgs e) { if (e.Control && e.KeyCode == Keys.C) { System.Windows.Forms.Clipboard.SetText(selected_cellvalue); e.SuppressKeyPress = true; } } private void druckenToolStripMenuItem_Click(object sender, EventArgs e) { DocGet gd = new DocGet(AppParams.connectionstring); clsdok dok = new clsdok("", "", ""); dok = gd.GetDoc(selected_dokumentid); gd.Print_Doc(dok.dokument); } 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; } foreach (var record in records) { var datarow = record as DataRowView; string documentid = datarow["dokumentid"].ToString(); archivedoc(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(); } 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(); } 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(); } 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; //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; } } }