You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2830 lines
113 KiB

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<clsdok>(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<Versandpaket> 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<Versandpaket> versandpakete = new List <Versandpaket>();
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 <Versanddokument>();
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<string> clist = new List<string>();
//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);
}
}
}