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.
2822 lines
118 KiB
2822 lines
118 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.NetworkInformation;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.Remoting.Messaging;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Web.Caching;
|
|
using System.Windows.Forms;
|
|
using System.Xml.Linq;
|
|
using BroadcastListener.Classes;
|
|
using BroadcastListener.Interfaces;
|
|
using Database;
|
|
using DOCGEN.Klassen;
|
|
using Helper;
|
|
using Microsoft.Office.Interop.Word;
|
|
using Model;
|
|
using NLog;
|
|
using OnDoc.DocMgmt;
|
|
using OnDoc.Helper;
|
|
using OnDoc.Klassen;
|
|
using OnDoc.UIControls.Administrator;
|
|
using Syncfusion.Pdf;
|
|
using Syncfusion.Windows.Forms.Tools;
|
|
using Syncfusion.Windows.Forms.Tools.Navigation;
|
|
using Syncfusion.Windows.Forms.Tools.Renderers;
|
|
using Syncfusion.WinForms.Controls;
|
|
using Syncfusion.WinForms.DataGrid;
|
|
using Syncfusion.WinForms.DataGrid.Interactivity;
|
|
using Windows.ApplicationModel.Activation;
|
|
using Windows.ApplicationModel.VoiceCommands;
|
|
using Windows.Media.Ocr;
|
|
using Windows.Perception.Spatial;
|
|
using static Model.OnBaseDocUpload;
|
|
using static BroadcastListener.Classes.Factory;
|
|
using Microsoft.Office.Interop.Excel;
|
|
using Microsoft.SqlServer.Server;
|
|
using OnDoc.Diverses;
|
|
using Syncfusion.Windows.Shared;
|
|
using System.Web.UI.WebControls;
|
|
using Syncfusion.Windows.Forms.CellGrid.ScrollAxis;
|
|
|
|
|
|
namespace OnDoc.UIControls
|
|
{
|
|
public partial class Serienbrief : UserControl, IMessageListener1
|
|
{
|
|
//private int dokumenttypnr = 0;
|
|
private int officevorlagenr = 0;
|
|
private int profilnr = 0;
|
|
private string partnernr = "";
|
|
private string partnernr_inserted = "";
|
|
private serienbrief sb = new serienbrief();
|
|
private int serienbriefnr = 0;
|
|
private DOCGEN.DocGen dg = null;
|
|
private DOCGEN.DocGet dget = null;
|
|
SerienbriefBearbeitung sbedit;
|
|
//private DataSet dsempfaenger = new DataSet();
|
|
private int selectedsbnr = 0;
|
|
|
|
public bool approval = false;
|
|
public System.Data.DataRow approvaldata = null;
|
|
public Serienbrief()
|
|
{
|
|
InitializeComponent();
|
|
|
|
}
|
|
|
|
public Serienbrief(int profilnr)
|
|
{
|
|
InitializeComponent();
|
|
//this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
|
//this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
|
//this.Style.ShadowOpacity = Theaming.ShadowOpacity;
|
|
//this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity;
|
|
this.profilnr = profilnr;
|
|
//Broadcaster().AddListener(this);
|
|
//Closing += Form_Closing;
|
|
|
|
}
|
|
|
|
private void Serienbrief_Load(object sender, EventArgs e)
|
|
{
|
|
//Refresh_Lists();
|
|
//Refresh_Team();
|
|
//Broadcaster().AddListener(this);
|
|
//Closing += Form_Closing;
|
|
|
|
}
|
|
|
|
public void Init(int profilnr)
|
|
{
|
|
this.profilnr=profilnr;
|
|
if (approval)
|
|
{
|
|
this.ribbonTabFunktionen.Visible = false;
|
|
this.ribbonTabPruefung.Visible = true;
|
|
ctxmenuEmpfaenger.Visible = false;
|
|
ctxmenutree.Visible = false;
|
|
}
|
|
else
|
|
{
|
|
ribbonTabPruefung.Visible =false;
|
|
ribbonTabFunktionen.Visible = true;
|
|
ctxmenuEmpfaenger.Visible = true;
|
|
ctxmenutree.Visible = true;
|
|
|
|
}
|
|
Refresh_Lists();
|
|
Refresh_Team();
|
|
Broadcaster().AddListener(this);
|
|
//Closing += Form_Closing;
|
|
}
|
|
|
|
public void setfuncitons(bool enable)
|
|
{
|
|
this.ribbonbuttonGeprueft.Enabled = enable;
|
|
this.ribbonbuttonAbgelehnt.Enabled = enable;
|
|
this.ctxmenuEmpfaenger.Enabled = enable;
|
|
this.ctxmenutree.Enabled= enable;
|
|
}
|
|
public void dispose()
|
|
{
|
|
Broadcaster().RemoveListener(this);
|
|
}
|
|
private void Form_Closing(object sender, CancelEventArgs e)
|
|
{
|
|
Broadcaster().RemoveListener(this);
|
|
}
|
|
|
|
private bool IsPreview = false;
|
|
private string PreviewFiename = "";
|
|
private int broadcasterdone = 0;
|
|
public void OnListen(string message, SenderInfo sender)
|
|
{
|
|
if (message == "BtnSBVorschau")
|
|
{
|
|
if (sender.SenderName == "Serienbriefbearbeitung")
|
|
{
|
|
|
|
if (broadcasterdone == 1)
|
|
{
|
|
broadcasterdone = 0;
|
|
return;
|
|
}
|
|
broadcasterdone = 1;
|
|
string[] details = sender.Function.Split(' ');
|
|
foreach (System.Data.DataRow dr in sb.dsempfaenger.Tables[0].Rows)
|
|
{
|
|
if (dr[0].ToString() == details[0].ToString())
|
|
{
|
|
IsPreview = true;
|
|
PreviewFiename = sender.Details.ToString() + ".tmp";
|
|
ribbonbuttonsave_Click(sender, null);
|
|
Generate(Convert.ToInt32(dr["intEintragnr"]));
|
|
System.IO.File.Delete(PreviewFiename);
|
|
PreviewFiename = "";
|
|
IsPreview = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (message == "BtnSBVorschauSave")
|
|
{
|
|
ribbonbuttonsave_Click(sender, null);
|
|
}
|
|
if (message== "SBPartnersuche")
|
|
{
|
|
this.partnernr=sender.Details.ToString();
|
|
if (partnernr_inserted == partnernr)
|
|
{
|
|
return;
|
|
}
|
|
|
|
partnernr_inserted = partnernr;
|
|
add_partner(this.partnernr);
|
|
|
|
}
|
|
|
|
}
|
|
private void enable_disable_functions(int type, bool enabled)
|
|
{
|
|
if (type == 1)
|
|
{
|
|
sb.dsempfaenger.Tables[0].Rows.Clear();
|
|
sb.dsempfaenger.AcceptChanges();
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
update_zahlen();
|
|
treeViewAdv1.Enabled = false;
|
|
ribbonbuttonsave.Enabled = false;
|
|
ribbonButtonDelete.Enabled = false;
|
|
RibbonButtonExcelImport.Enabled = false;
|
|
ribbonbuttonaddpartner.Enabled = false;
|
|
ribbonButtonPartnerPruefen.Enabled = false;
|
|
ribbonButtonVorlageBearbeiten.Enabled = false;
|
|
ribbonbuttonloadtemplate.Enabled = false;
|
|
ribbonbuttonsavetemplate.Enabled = false;
|
|
ribbonbuttonaddpartner.Enabled = false;
|
|
ribbonButtonPartnerPruefen.Enabled = false;
|
|
RibbonButtonGenerateSB.Enabled = false;
|
|
ribbonButtonDruckstapel.Enabled = false;
|
|
RibbonButtonArchivierenUndAbschlessen.Enabled = false;
|
|
}
|
|
if (type == 2)
|
|
{
|
|
RibbonButtonGenerateSB.Enabled = false;
|
|
RibbonButtonArchivierenUndAbschlessen.Enabled = false;
|
|
ribbonButtonDruckstapel.Enabled = false;
|
|
}
|
|
if (type == 3)
|
|
{
|
|
groupBox5.Enabled = enabled;
|
|
groupBox6.Enabled = enabled;
|
|
groupBox7.Enabled = enabled;
|
|
groupBox8.Enabled = enabled;
|
|
grpFaktura.Enabled = enabled;
|
|
ribbonButtonVorlageBearbeiten.Enabled = enabled;
|
|
ribbonbuttonloadtemplate.Enabled = enabled;
|
|
ribbonbuttonsavetemplate.Enabled = enabled;
|
|
|
|
}
|
|
if (type == 4)
|
|
{
|
|
sfDataGridEmpfaenger.AllowEditing = true;
|
|
ctxmenuEmpfaenger.Enabled = true;
|
|
partnerHinzufügenToolStripMenuItem.Visible = true;
|
|
partnerLöschenToolStripMenuItem.Visible = true;
|
|
|
|
erneutGenerierenToolStripMenuItem.Visible = false;
|
|
docPreview1.Visible = false;
|
|
}
|
|
if (type == 5)
|
|
{
|
|
partnerHinzufügenToolStripMenuItem.Visible = false;
|
|
partnerLöschenToolStripMenuItem.Visible = false;
|
|
sfDataGridEmpfaenger.AllowEditing = false;
|
|
erneutGenerierenToolStripMenuItem.Visible = true;
|
|
docPreview1.clear_viewer();
|
|
docPreview1.Visible = true;
|
|
}
|
|
if (type == 6)
|
|
{
|
|
GrpEmpfaenger.Visible = true;
|
|
GrpDokumentInhalt.Visible = true;
|
|
ribbonbuttonsave.Enabled = true;
|
|
ribbonButtonDelete.Enabled = true;
|
|
RibbonButtonExcelImport.Enabled = true;
|
|
ribbonbuttonaddpartner.Enabled = true;
|
|
ribbonButtonPartnerPruefen.Enabled = true;
|
|
RibbonButtonEditWord.Enabled = true;
|
|
grpDruckstapel.Visible = false;
|
|
docPreview1.Visible = false;
|
|
treeViewAdv1.Enabled = true;
|
|
}
|
|
if (type == 7)
|
|
{
|
|
this.ribbonPanel3.Enabled = enabled;
|
|
this.ribbonPanel5.Enabled = enabled;
|
|
this.ribbonPanel6.Enabled = enabled;
|
|
this.ribbonPanel7.Enabled = enabled;
|
|
this.ribbonPanel8.Enabled = enabled;
|
|
this.ribbonPanel9.Enabled = enabled;
|
|
this.ribbonButtonDelete.Enabled = enabled;
|
|
erneutGenerierenToolStripMenuItem.Enabled = enabled;
|
|
|
|
}
|
|
}
|
|
private void Refresh_Lists()
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select nreintrag, bezeichnung from Postzustellung where aktiv=1 order by bezeichnung", false, true);
|
|
cbboxpostzustellung.DataSource = db.dsdaten.Tables[0];
|
|
cbboxpostzustellung.ValueMember = "nreintrag";
|
|
cbboxpostzustellung.DisplayMember = "bezeichnung";
|
|
|
|
db.clear_parameter();
|
|
db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false);
|
|
cbboxzustaendigmitarbeiter.DataSource = db.dsdaten.Tables[0];
|
|
cbboxzustaendigmitarbeiter.DisplayMember = "name";
|
|
cbboxzustaendigmitarbeiter.ValueMember = "mitarbeiternr";
|
|
cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbeiter;
|
|
cbboxunterschriftlinks.DataSource = db.dsdaten.Tables[0];
|
|
cbboxunterschriftlinks.DisplayMember = "name";
|
|
cbboxunterschriftlinks.ValueMember = "mitarbeiternr";
|
|
cbboxunterschriftrechts.DataSource = db.dsdaten.Tables[0];
|
|
cbboxunterschriftrechts.DisplayMember = "name";
|
|
cbboxunterschriftrechts.ValueMember = "mitarbeiternr";
|
|
cbboxverantwortlich.DataSource = db.dsdaten.Tables[0];
|
|
cbboxverantwortlich.DisplayMember = "name";
|
|
cbboxverantwortlich.ValueMember = "mitarbeiternr";
|
|
cbboxverantwortlich.SelectedValue = AppParams.CurrentMitarbeiter;
|
|
}
|
|
|
|
private void Refresh_Team(int id = 0)
|
|
{
|
|
DB dbteam = new DB(AppParams.connectionstring);
|
|
dbteam.clear_parameter();
|
|
dbteam.add_parameter("@profilnr", profilnr.ToString());
|
|
if (id == 0)
|
|
{
|
|
dbteam.add_parameter("@mitarbeiternr", cbboxzustaendigmitarbeiter.SelectedValue.ToString());
|
|
}
|
|
else
|
|
{
|
|
dbteam.add_parameter("@mitarbeiternr", id.ToString());
|
|
}
|
|
//dbteam.add_parameter("@mitarbeiternr", cbboxzustaendigmitarbeiter.SelectedValue.ToString());
|
|
dbteam.Get_Tabledata("sp_dokumentbearbeitung_team", true, false);
|
|
cbboxteam.DataSource = null;
|
|
cbboxteam.DataSource = dbteam.dsdaten.Tables[0];
|
|
cbboxteam.ValueMember = "teamnr";
|
|
cbboxteam.DisplayMember = "bezeichnung";
|
|
this.cbboxteam.SelectedIndex = 0;
|
|
}
|
|
private void RibbonButtonExit_Click(object sender, EventArgs e)
|
|
{
|
|
//this.Close();
|
|
}
|
|
|
|
private void RibbonButtonExcelImport_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
System.Data.DataTable importdata = new System.Data.DataTable();
|
|
openFileDialog1.Filter = "Excel-Dateien files (*.xlsx)|*.xlsx|CSV-Dateien (*.csv)|*.csv|Alle Dateien (*.*)|*.*";
|
|
openFileDialog1.FilterIndex = 0;
|
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
ExcelNet.ExcelReader reader = new ExcelNet.ExcelReader();
|
|
string selected_sheetname = "";
|
|
var sheets = new List<string>();
|
|
try
|
|
{
|
|
sheets = reader.Get_ExcelSheets(openFileDialog1.FileName);
|
|
}
|
|
catch {
|
|
MessageBox.Show("Auf die gewählte Excel-Datei kann aktuell nicht zugegriffen werden. Evtl. ist diese noch geöffnet.", "Excel-Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
|
|
if (sheets.Count > 1)
|
|
{
|
|
DocMgmt.Serienbrief_Sheetselect sheetselect = new DocMgmt.Serienbrief_Sheetselect(sheets);
|
|
sheetselect.ShowDialog();
|
|
if (sheetselect.DialogResult == DialogResult.OK)
|
|
{
|
|
selected_sheetname = sheetselect.get_selected_sheet();
|
|
}
|
|
else { return; }
|
|
}
|
|
else { selected_sheetname = sheets[0]; }
|
|
|
|
reader.Excel_To_Datatabable(openFileDialog1.FileName, selected_sheetname, true, ref importdata);
|
|
init_progressbar("Daten importieren", importdata.Rows.Count);
|
|
if (importdata.Rows.Count > 2500)
|
|
{
|
|
MessageBox.Show("Die gewählten Daten enthalten mehr als 2'500 Datensätze. Bitte aufteilen.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
if (importdata.Rows.Count < 1)
|
|
{
|
|
MessageBox.Show("Die ausgewählten Daten können nicht verwendet werden.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
if (importdata.Columns[0].Caption != "Partnernr")
|
|
{
|
|
MessageBox.Show("Die importierten Daten enthalten keine Spalte 'Partnernr'. Der Vorgang wird abgebrochen.", "Import", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
importdata.Rows.Clear();
|
|
importdata.Columns.Clear();
|
|
return;
|
|
}
|
|
DB dB = new DB(AppParams.connectionstring);
|
|
if (sb.dsempfaenger.Tables[0].Rows.Count == 1)
|
|
{
|
|
if (sb.dsempfaenger.Tables[0].Rows[0]["Partnernr"].ToString().Trim() == "")
|
|
{
|
|
sb.dsempfaenger.Tables[0].Rows[0].Delete();
|
|
sb.dsempfaenger.AcceptChanges();
|
|
}
|
|
}
|
|
//sb.dsempfaenger.Tables[0].Rows.Clear();
|
|
bool found = false;
|
|
foreach (System.Data.DataColumn dc in importdata.Columns)
|
|
{
|
|
found = false;
|
|
foreach (System.Data.DataColumn edc in sb.dsempfaenger.Tables[0].Columns)
|
|
{
|
|
if (edc.ColumnName == dc.ColumnName) { found = true; break; }
|
|
}
|
|
if (!found)
|
|
{
|
|
try
|
|
{
|
|
sb.dsempfaenger.Tables[0].Columns.Add("$$" + dc.ColumnName + "$$");
|
|
dc.ColumnName = "$$" + dc.ColumnName + "$$";
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
}
|
|
importdata.AcceptChanges();
|
|
|
|
found = false;
|
|
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
|
|
{
|
|
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
|
|
}
|
|
if (!found) { sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr"); }
|
|
int lastid = sb.dsempfaenger.Tables[0].Rows.Count;
|
|
|
|
int saldmessage = 0;
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
foreach (System.Data.DataRow dr in importdata.Rows)
|
|
{
|
|
add_progress();
|
|
System.Data.DataRow r1 = sb.dsempfaenger.Tables[0].NewRow();
|
|
foreach (DataColumn col in importdata.Columns)
|
|
{
|
|
try
|
|
{
|
|
r1[col.ColumnName] = dr[col.ColumnName];
|
|
|
|
}
|
|
catch
|
|
{
|
|
try
|
|
{
|
|
r1["$$" + col.ColumnName + "$$"] = dr[col.ColumnName];
|
|
}
|
|
catch { r1[col.ColumnName] = ""; }
|
|
}
|
|
|
|
}
|
|
r1["STATUS"] = 0;
|
|
r1["FEHLERCODE"] = 0;
|
|
r1["IntEintragnr"] = lastid;
|
|
lastid = lastid + 1;
|
|
//try
|
|
//{
|
|
// r1["inteingragnr"] = string.Empty;
|
|
//}
|
|
//catch { }
|
|
|
|
dB.Get_Tabledata("Select bkpar00, saldiert from partner where nrpar00=" + r1[0].ToString(), false, true);
|
|
try
|
|
{
|
|
if (dB.dsdaten.Tables[0].Rows.Count > 0)
|
|
{
|
|
//if (dB.dsdaten.Tables[0].Rows.Count < 1) r1["Fehlercode"] = 1; else
|
|
r1["fehlercode"] = 0;
|
|
string kurzbez = dB.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
if (Convert.ToBoolean(dB.dsdaten.Tables[0].Rows[0][1]) == true)
|
|
{
|
|
saldmessage = 1;
|
|
kurzbez = "SALDIERT: " + kurzbez;
|
|
}
|
|
//r1[1] = dB.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
r1[1] = kurzbez;
|
|
sb.dsempfaenger.Tables[0].Rows.Add(r1);
|
|
}
|
|
else
|
|
{
|
|
r1["Fehlercode"] = 1;
|
|
r1[1] = "Parnter nicht vorhanden";
|
|
sb.dsempfaenger.Tables[0].Rows.Add(r1);
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
dB = null;
|
|
if (saldmessage > 0)
|
|
{
|
|
MessageBox.Show("Die Partnerliste enthält saldierte Kunden-Einträge", "Partnerprüfung", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
}
|
|
|
|
|
|
|
|
Partnerliste_Pruefen();
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
|
|
finish_progress();
|
|
//sfDataGridEmpfaenger.DataSource = importdata;
|
|
}
|
|
}
|
|
|
|
private void refresh_empfaenger(System.Data.DataTable dt)
|
|
{
|
|
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dt;
|
|
update_zahlen();
|
|
}
|
|
private void refresh_spalten()
|
|
{
|
|
int hasbl = 0;
|
|
foreach(System.Data.DataRow dr in sb.dsempfaenger.Tables[0].Rows)
|
|
{
|
|
if (dr["blkunde"].ToString() == "1") { hasbl = 1; }
|
|
}
|
|
try
|
|
{
|
|
// sfDataGridEmpfaenger.Columns["IntEintragnr"].Visible = false;
|
|
}
|
|
catch
|
|
{
|
|
sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr");
|
|
}
|
|
try
|
|
{
|
|
sfDataGridEmpfaenger.Columns["IntEintragnr"].Visible = true;
|
|
//sfDataGridEmpfaenger.Columns["STATUS"].Visible = false;
|
|
|
|
sfDataGridEmpfaenger.Columns["FEHLERCODE"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = false;
|
|
if (hasbl > 0)
|
|
{
|
|
sfDataGridEmpfaenger.Columns["BLKUNDE"].Visible = true;
|
|
sfDataGridEmpfaenger.Columns["BLKUNDE"].Width = 50;
|
|
}
|
|
sfDataGridEmpfaenger.Columns[0].HeaderText = "Kunden-Nr";
|
|
//sfDataGridEmpfaenger.Columns["DOKUMENT_GEDRUCKT"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["DOKUMENTID"].Visible = true;
|
|
//sfDataGridEmpfaenger.Columns["DOKUMENTIDBDR"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["ERSTELLER"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["DRUCKJOBID"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["AKTIV"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Zustelladresse"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Briefanrede1"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Briefanrede2"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Anrede"].Width = 0;
|
|
sfDataGridEmpfaenger.Columns["Name"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Vorname"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Strasse"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["PLZ"].Visible = false;
|
|
sfDataGridEmpfaenger.Columns["Ort"].Visible = false;
|
|
|
|
sfDataGridEmpfaenger.AutoSizeColumnsMode = Syncfusion.WinForms.DataGrid.Enums.AutoSizeColumnsMode.AllCells;
|
|
}
|
|
catch { }
|
|
}
|
|
private void init_empfaenger(int serienbriefnr)
|
|
{
|
|
Database.DB db = new DB(AppParams.connectionstring);
|
|
|
|
db.Get_Tabledata("Select dbo.BinaryToBase64(xmldata) as Data from edex_sb_empfaenger where serienbriefnr=" + sb.serienbriefnr.ToString(), false, true);
|
|
Base64Helper bh = new Base64Helper();
|
|
bh.Base64 = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
string xml = bh.DecodeBase64();
|
|
string filename = AppParams.tempdir + @"\" + sb.serienbriefnr.ToString() + ".xml";
|
|
System.IO.File.WriteAllText(filename, xml);
|
|
//dsempfaenger.Tables.Clear();
|
|
//dsempfaenger.ReadXml(filename);
|
|
//dsempfaenger.Tables[0].Columns.Add("Status");
|
|
//dsempfaenger.Tables[0].Columns.Add("Error");
|
|
sb.dsempfaenger = new DataSet();
|
|
sb.dsempfaenger.Tables.Clear();
|
|
sb.dsempfaenger.ReadXml(filename);
|
|
sb.dsempfaenger.Tables.Remove("Layout");
|
|
sb.dsempfaenger.AcceptChanges();
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
//System.IO.File.Delete(filename);
|
|
}
|
|
|
|
public void create_new_sb(int dokumenttypnr)
|
|
{
|
|
try
|
|
{
|
|
panelLoad.Visible = true;
|
|
System.Windows.Forms.Application.DoEvents();
|
|
this.sb = null;
|
|
this.sb = new serienbrief();
|
|
sb.dokumenttypnr = dokumenttypnr;
|
|
update_serienbrief_details(true, sb.dokumenttypnr, 0);
|
|
init_empfaenger(-1);
|
|
//this.cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbeiter;
|
|
sb.verantwortlich = AppParams.CurrentMitarbeiter;
|
|
vorlagenfelder(sb.dokumenttypnr);
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
update_screen();
|
|
update_serienbriefdaten(true);
|
|
|
|
vorlage_auslesen_und_speichern();
|
|
|
|
SerienbriefBearbeitung sbe = new SerienbriefBearbeitung(sb);
|
|
sb.dsempfaenger.Tables.Add(sbe.init_used_felder(false).Copy());
|
|
sb.dsempfaenger.Tables[sb.dsempfaenger.Tables.Count - 1].TableName = "UsedFelder";
|
|
Logging.Logging.Debug("Update Serienbriefdaten", "OnDoc", "");
|
|
update_serienbriefdaten(false);
|
|
open_sb(sb.serienbriefnr);
|
|
treeViewAdv1.Enabled = true;
|
|
panelLoad.Visible = false;
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
panelLoad.Visible = false;
|
|
Logging.Logging.Debug(ex.Message, "OnDoc", "SB Error");
|
|
}
|
|
|
|
|
|
}
|
|
private void RibbonButtonNew_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
OnDoc.DocMgmt.DokTypSelect DokTypSelect = new OnDoc.DocMgmt.DokTypSelect(false);
|
|
DokTypSelect.vorlagentype = 1;
|
|
DokTypSelect.ShowDialog(this);
|
|
if (DokTypSelect.DialogResult == DialogResult.OK)
|
|
{
|
|
create_new_sb(DokTypSelect.dokumenttypnr);
|
|
return;
|
|
|
|
try
|
|
{
|
|
panelLoad.Visible = true;
|
|
System.Windows.Forms.Application.DoEvents();
|
|
this.sb = null;
|
|
this.sb = new serienbrief();
|
|
sb.dokumenttypnr = DokTypSelect.dokumenttypnr;
|
|
update_serienbrief_details(true, sb.dokumenttypnr, 0);
|
|
init_empfaenger(-1);
|
|
//this.cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbeiter;
|
|
sb.verantwortlich = AppParams.CurrentMitarbeiter;
|
|
vorlagenfelder(sb.dokumenttypnr);
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
update_screen();
|
|
update_serienbriefdaten(true);
|
|
|
|
vorlage_auslesen_und_speichern();
|
|
|
|
SerienbriefBearbeitung sbe = new SerienbriefBearbeitung(sb);
|
|
sb.dsempfaenger.Tables.Add(sbe.init_used_felder(false).Copy());
|
|
sb.dsempfaenger.Tables[sb.dsempfaenger.Tables.Count - 1].TableName = "UsedFelder";
|
|
Logging.Logging.Debug("Update Serienbriefdaten", "OnDoc", "");
|
|
update_serienbriefdaten(false);
|
|
open_sb(sb.serienbriefnr);
|
|
treeViewAdv1.Enabled = true;
|
|
panelLoad.Visible = false;
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
panelLoad.Visible = false;
|
|
Logging.Logging.Debug(ex.Message, "OnDoc", "SB Error");
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
this.GrpDokumentInhalt.Enabled = false;
|
|
this.grpFaktura.Enabled = false;
|
|
return;
|
|
}
|
|
}
|
|
|
|
private void vorlage_auslesen_und_speichern()
|
|
{
|
|
|
|
DOCGEN.DocGet dg = new DOCGEN.DocGet(AppParams.connectionstring);
|
|
string filedata = dg.get_word_vorlage(sb.officevorlagenr, sb.dokumenttypnr);
|
|
|
|
clsFileHelper fh = new clsFileHelper();
|
|
string tempfilename = "";
|
|
|
|
DB dB = new DB(AppParams.connectionstring);
|
|
dB.Get_ApplicationType_from_Vorlage(sb.officevorlagenr);
|
|
string Apptype = "";
|
|
Apptype = dB.dsdaten.Tables[0].Rows[0][1].ToString();
|
|
string filename = AppParams.tempdir + sb.serienbriefnr.ToString() + "." + Apptype;
|
|
fh.SaveBase64ToFile(filedata, filename);
|
|
sb.filename = filename;
|
|
}
|
|
|
|
|
|
|
|
|
|
//DB dB = new DB(AppParams.connectionstring);
|
|
//dB.Get_ApplicationType_from_Vorlage(sb.officevorlagenr);
|
|
//string Apptype = "";
|
|
//Apptype = dB.dsdaten.Tables[0].Rows[0][1].ToString();
|
|
//sb.filename = dB.save_sb_vorlage_to_db(filename, Apptype, sb.serienbriefnr);
|
|
|
|
|
|
//DB dB = new DB(AppParams.connectionstring);
|
|
//dB.Get_ApplicationType_from_Vorlage(sb.officevorlagenr);
|
|
//string Apptype = "";
|
|
//Apptype = dB.dsdaten.Tables[0].Rows[0][1].ToString();
|
|
//string filedata = dB.get_vorlage_for_file(sb.officevorlagenr.ToString(), AppParams.tempdir, sb.serienbriefnr.ToString() + "." + Apptype);
|
|
//string filename = AppParams.tempdir + sb.serienbriefnr.ToString() + "." + Apptype;
|
|
//sb.filename= filename;
|
|
|
|
//dB.Save_To_DB("", "", filedata, sb.serienbriefnr);
|
|
//sb.filename = dB.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
|
|
//// sb.filename = dB.save_sb_vorlage_to_db(filename, Apptype, sb.serienbriefnr);
|
|
|
|
private void vorlagenfelder(int dokumenttypnr)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.clear_parameter();
|
|
db.add_parameter("@dokumenttypnr", sb.dokumenttypnr.ToString());
|
|
db.Get_Tabledata("sp_edex_sb_get_vorlagenfelder", true, false);
|
|
string s = "";
|
|
for (int i = 0, loopTo = db.dsdaten.Tables[0].Rows.Count - 1; i <= loopTo; i++)
|
|
{
|
|
try
|
|
{
|
|
string X;
|
|
X = sb.dsempfaenger.Tables[0].Rows[0][db.dsdaten.Tables[0].Rows[i][0].ToString()].ToString();
|
|
}
|
|
catch
|
|
{
|
|
string feldname = "$$"+ db.dsdaten.Tables[0].Rows[i][0].ToString() + "$$";
|
|
sb.dsempfaenger.Tables[0].Columns.Add(feldname);
|
|
sb.dsempfaenger.Tables[0].Rows[0][feldname] = "";
|
|
sb.dsempfaenger.Tables[1].Columns.Add(feldname);
|
|
try
|
|
{
|
|
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[i][1]) == true)
|
|
{
|
|
sb.dsempfaenger.Tables[1].Rows[0][feldname] = 1;
|
|
}
|
|
else
|
|
{
|
|
sb.dsempfaenger.Tables[1].Rows[0][feldname] = 0;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
sb.dsempfaenger.Tables[1].Rows[0][feldname] = 0;
|
|
}
|
|
s = s + "- " + feldname + System.Environment.NewLine;
|
|
|
|
}
|
|
|
|
}
|
|
sb.dsempfaenger.AcceptChanges();
|
|
if (s != "") { MessageBox.Show("Folgende Spalten wurden aufgrund der gewählten Vorlage zur Liste hinzugefügt" + System.Environment.NewLine + s, "Serienbrief", MessageBoxButtons.OK, MessageBoxIcon.Information); }
|
|
|
|
//foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
|
|
//{
|
|
// try
|
|
// {
|
|
// string x;
|
|
// x = dsempfaenger.Tables[0].Rows[0][dr[0].ToString()].ToString();
|
|
// }
|
|
// catch
|
|
// {
|
|
|
|
// }
|
|
// dsempfaenger.Tables[0].Columns.Add(dr[0].ToString());
|
|
//}
|
|
}
|
|
|
|
|
|
private void update_serienbrief_details(bool newsb = false, int dokumenttypnr = 0, int sbnummer = 0)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
if (newsb)
|
|
{
|
|
db.Get_Tabledata("Select bezeichnung,office_vorlagenr, isnull(vertrag,0) as vertrag, isnull(physisches_archiv,0) as archiv from dokumenttyp where dokumenttypnr=" + sb.dokumenttypnr.ToString(), false, true);
|
|
sb.bezeichnung = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
sb.officevorlagenr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]);
|
|
sb.vertrag = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][2]);
|
|
|
|
db.Get_Tabledata("Select beschreibung from physischesarchiv where physischesarchivnr = " + db.dsdaten.Tables[0].Rows[0][3].ToString(), false, true);
|
|
sb.barcode_zusatz = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
if (sb.barcode_zusatz != "") { sb.barcode_zusatz = " " + sb.barcode_zusatz; }
|
|
}
|
|
|
|
}
|
|
private void update_serienbriefdaten(bool newsb)
|
|
{
|
|
sb.bezeichnung = this.txtbezeichnung.Text;
|
|
sb.verantwortlich = Convert.ToInt32(this.cbboxverantwortlich.SelectedValue.ToString());
|
|
try
|
|
{
|
|
if (cbboxunterschriftlinks.Text == "") { sb.approval1 = 1; } else {
|
|
if (sb.verantwortlich == Convert.ToInt32(this.cbboxunterschriftlinks.SelectedValue.ToString()))
|
|
{
|
|
sb.approval1 = 1;
|
|
}
|
|
}
|
|
} catch { }
|
|
try
|
|
{
|
|
if (cbboxunterschriftrechts.Text == "") { sb.approval2 = 1; }
|
|
else
|
|
{
|
|
if (sb.verantwortlich == Convert.ToInt32(this.cbboxunterschriftrechts.SelectedValue.ToString()))
|
|
{
|
|
sb.approval2 = 1;
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
if (sb.approval1==1 && sb.approval2==1 && sb.faksimile==1)
|
|
{
|
|
sb.approved = 1;
|
|
}
|
|
|
|
if (newsb) { sb.erstellt_am = DateTime.Now; }
|
|
sb.aktiv = true;
|
|
sb.mutiert_am = DateTime.Now;
|
|
sb.mutierer = AppParams.CurrentMitarbeiter;
|
|
if (newsb)
|
|
{
|
|
sb.toapproval = 0;
|
|
sb.approved = 0;
|
|
sb.approval1 = 0;
|
|
sb.approval2 = 0;
|
|
sb.faksimile = 0;
|
|
sb.ohneunterschrift = 0;
|
|
}
|
|
//sb.verantwortlich = AppParams.CurrentMitarbeiter;
|
|
if (rbzustaendigkube.Checked) { sb.zustaendig = -1; } else {
|
|
sb.zustaendig = Convert.ToInt32(cbboxzustaendigmitarbeiter.SelectedValue);
|
|
}
|
|
//sb.zustaendig = Convert.ToInt32(cbboxzustaendigmitarbeiter.SelectedValue);
|
|
try { sb.postzustellung = Convert.ToInt32(cbboxpostzustellung.SelectedValue.ToString()); } catch { sb.postzustellung = 0; }
|
|
try { sb.unterschriftlinks = Convert.ToInt32(cbboxunterschriftlinks.SelectedValue.ToString()); } catch { sb.unterschriftlinks = 0; }
|
|
try { sb.unterschriftrechts = Convert.ToInt32(cbboxunterschriftrechts.SelectedValue.ToString()); } catch { sb.unterschriftrechts = 0; }
|
|
if (cbboxunterschriftlinks.Text.Trim() == "") { sb.unterschriftlinks = 0; }
|
|
if (cbboxunterschriftrechts.Text.Trim() == "") { sb.unterschriftrechts = 0; }
|
|
try
|
|
{
|
|
if (cbdigitaleunterschrfiten.Checked)
|
|
{
|
|
sb.faksimile_unterschrfit = "True";
|
|
sb.faksimile = 1;
|
|
}
|
|
else
|
|
{
|
|
sb.faksimile_unterschrfit = "False";
|
|
sb.faksimile = 0;
|
|
}
|
|
}
|
|
catch { sb.faksimile_unterschrfit = "False"; sb.faksimile = 0; }
|
|
try
|
|
{
|
|
if (cbformularohneunterschrfit.Checked)
|
|
{
|
|
sb.ohne_unterschrift = "True";
|
|
sb.ohneunterschrift = 1;
|
|
}
|
|
else
|
|
{
|
|
sb.ohne_unterschrift = "false";
|
|
sb.ohneunterschrift = 0;
|
|
|
|
}
|
|
} catch
|
|
{
|
|
sb.ohne_unterschrift = "false";
|
|
sb.ohneunterschrift = 0;
|
|
|
|
}
|
|
|
|
try { sb.team = Convert.ToInt32(cbboxteam.SelectedValue.ToString()); } catch { sb.team = 0; }
|
|
sb.archivdatum = Convert.ToDateTime(DateDokumentDatum.Value);
|
|
sb.dokumentdatum = Convert.ToDateTime(DateDokumentDatum.Value);
|
|
if (rbppa.Checked) { sb.ppfaktura = 1; }
|
|
if (rbbpb.Checked) { sb.ppfaktura = 2; }
|
|
if (rbppohne.Checked) { sb.ppfaktura = 0; }
|
|
DB db = new DB(AppParams.connectionstring);
|
|
sb.serienbriefnr = db.Save_Serienbrief(sb, AppParams.tempdir);
|
|
//sb.dsempfaenger.WriteXml(@"x:\test.xml");
|
|
if (!IsPreview) { db.save_sb_vorlage_to_db(sb.filename, "", sb.serienbriefnr); }
|
|
else { db.save_sb_vorlage_to_db(PreviewFiename, "", sb.serienbriefnr); }
|
|
}
|
|
|
|
private void update_zahlen()
|
|
{
|
|
try
|
|
{
|
|
|
|
int inbearbeitung = 0;
|
|
int fehlerhaft = 0;
|
|
int generiert = 0;
|
|
int abgeschlossen = 0;
|
|
|
|
treeViewAdv1.Nodes[0].Text = "In Bearbeitung (" + inbearbeitung.ToString() + ")";
|
|
treeViewAdv1.Nodes[1].Text = "Fehlerhaft (" + fehlerhaft.ToString() + ")";
|
|
treeViewAdv1.Nodes[2].Text = "Generiert (" + generiert.ToString() + ")";
|
|
treeViewAdv1.Nodes[3].Text = "Abgeschlossen (" + abgeschlossen.ToString() + ")";
|
|
|
|
sb.dsempfaenger.AcceptChanges();
|
|
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
dv.RowFilter = "Status = 0";
|
|
treeViewAdv1.Nodes[0].Text = "In Bearbeitung (" + dv.Count.ToString() + ")";
|
|
inbearbeitung = dv.Count;
|
|
dv.RowFilter = "Status =-1";
|
|
treeViewAdv1.Nodes[1].Text = "Fehlerhaft (" + dv.Count.ToString() + ")";
|
|
fehlerhaft = dv.Count;
|
|
if (dv.Count > 0) treeViewAdv1.Nodes[1].TextColor = Color.Red; else treeViewAdv1.Nodes[1].TextColor = Color.Black;
|
|
if (dv.Count > 0) { }
|
|
dv.RowFilter = "Status = 1";
|
|
treeViewAdv1.Nodes[2].Text = "Generiert (" + dv.Count.ToString() + ")";
|
|
generiert = dv.Count;
|
|
dv.RowFilter = "Status = 2";
|
|
treeViewAdv1.Nodes[3].Text = "Abgeschlossen (" + dv.Count.ToString() + ")";
|
|
abgeschlossen = dv.Count;
|
|
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0];
|
|
update_grid();
|
|
|
|
enable_disable_functions(2, false);
|
|
if (inbearbeitung > 0) { RibbonButtonGenerateSB.Enabled = true; }
|
|
if (fehlerhaft == 0 && inbearbeitung == 0 && generiert > 0)
|
|
{
|
|
RibbonButtonArchivierenUndAbschlessen.Enabled = true;
|
|
ribbonButtonDruckstapel.Enabled = true;
|
|
|
|
if (cbdigitaleunterschrfiten.Checked)
|
|
{
|
|
if (sb.approved == 0)
|
|
{
|
|
this.ribbonButtonDruckstapel.Enabled = false;
|
|
this.RibbonButtonArchivierenUndAbschlessen.Enabled = false;
|
|
this.ribbonButtonToApproval.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.ribbonButtonDruckstapel.Enabled = true;
|
|
this.RibbonButtonArchivierenUndAbschlessen.Enabled = true;
|
|
this.ribbonButtonToApproval.Enabled = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
enable_disable_functions(3, true);
|
|
if (generiert > 0 || abgeschlossen > 0)
|
|
{
|
|
enable_disable_functions(3, false);
|
|
}
|
|
if (inbearbeitung == 0 && generiert == 0 && fehlerhaft == 0 && abgeschlossen > 0)
|
|
{
|
|
enable_disable_functions(7, false);
|
|
}
|
|
|
|
}
|
|
catch { }
|
|
|
|
}
|
|
|
|
private void treeViewAdv1_AfterSelect(object sender, EventArgs e)
|
|
{
|
|
update_grid();
|
|
}
|
|
private void update_grid()
|
|
{
|
|
bool found = false;
|
|
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
|
|
{
|
|
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
|
|
}
|
|
if (!found) { sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr"); }
|
|
string nodetext = treeViewAdv1.SelectedNode.Text;
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
|
|
try
|
|
{
|
|
switch (nodetext.Substring(0, 5))
|
|
{
|
|
case "In Be":
|
|
dv.RowFilter = "Status = 0";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
refresh_spalten();
|
|
enable_disable_functions(4, false);
|
|
break;
|
|
case "Fehle":
|
|
dv.RowFilter = "Status=-1";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
refresh_spalten();
|
|
enable_disable_functions(4, false);
|
|
|
|
break;
|
|
case "Gener":
|
|
dv.RowFilter = "Status = 1";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
refresh_spalten(); enable_disable_functions(5, false);
|
|
|
|
break;
|
|
case "Abges":
|
|
dv.RowFilter = "Status = 2";
|
|
sfDataGridEmpfaenger.DataSource = null;
|
|
sfDataGridEmpfaenger.DataSource = dv;
|
|
refresh_spalten();
|
|
enable_disable_functions(5, false);
|
|
|
|
break;
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
|
|
private void ribbonbuttonsave_Click(object sender, EventArgs e)
|
|
{
|
|
update_serienbriefdaten(false);
|
|
}
|
|
|
|
private void RibbonButtonOpen_Click(object sender, EventArgs e)
|
|
{
|
|
GrpEmpfaenger.Visible = false;
|
|
GrpDokumentInhalt.Visible = false;
|
|
pnlLoad.Visible = true;
|
|
pnlLoad.Dock = DockStyle.Top;
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.clear_parameter();
|
|
db.add_parameter("@mitarbeiternr", AppParams.CurrentMitarbeiter.ToString());
|
|
db.Get_Tabledata("dbo.ondoc_get_offene_serienbriefe", true, false);
|
|
|
|
sfdatagridsbload.DataSource = null;
|
|
sfdatagridsbload.DataSource = db.dsdaten.Tables[0];
|
|
|
|
sfdatagridsbload.Columns[sfdatagridsbload.Columns.Count - 1].Visible = false;
|
|
sfdatagridsbload.Columns[sfdatagridsbload.Columns.Count - 2].Visible = false;
|
|
sfdatagridsbload.Columns[0].Width = 50;
|
|
sfdatagridsbload.Columns[1].Width = 50;
|
|
sfdatagridsbload.Columns[3].Width = 120;
|
|
sfdatagridsbload.Columns[5].Width = 90;
|
|
|
|
sfdatagridsbload.ExpanderColumnWidth =
|
|
btnsbloadok.Left = pnlLoad.Width - btnsbloadok.Width - 20;
|
|
if (sfdatagridsbload.RowCount == 0) this.btnsbloadok.Enabled = false;
|
|
// vorlage_auslesen_und_speichern();
|
|
|
|
System.Windows.Forms.Application.DoEvents();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
private void bntsbloadok_Click(object sender, EventArgs e)
|
|
{
|
|
open_sb(selectedsbnr);
|
|
}
|
|
public void open_sb(int serienbriefnr)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
sb = new serienbrief();
|
|
sb.dsempfaenger = new DataSet();
|
|
sb.serienbriefnr = serienbriefnr;
|
|
sb = db.Load_Serienbrief(sb, AppParams.tempdir);
|
|
db.Get_Tabledata("Select * from office_vorlage where office_vorlagenr = " + sb.officevorlagenr.ToString(), false, true);
|
|
sb.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]);
|
|
sb.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]);
|
|
sb.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]);
|
|
sb.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]);
|
|
sb.barcode_horizontal = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bchorizontal"]);
|
|
sb.barcode_type = db.dsdaten.Tables[0].Rows[0]["barcodetype"].ToString();
|
|
sb.barcode_content = db.dsdaten.Tables[0].Rows[0]["datamatrixcontent"].ToString();
|
|
|
|
|
|
|
|
|
|
string sql = "";
|
|
sql = "select bcpt, bcpl, bcw, bch, bchorizontal from OnDocBarcodeMpping ";
|
|
sql = sql + "where orig_bcpt = " + sb.barcode_top.ToString() + " and orig_bcpl=" + sb.barcode_left.ToString() + " ";
|
|
sql = sql + "and orig_bcw=" + sb.barcode_width.ToString() + " and orig_bch=" + sb.barcode_height.ToString();
|
|
db.Get_Tabledata(sql, false, true);
|
|
if (db.dsdaten.Tables[0].Rows.Count > 0)
|
|
{
|
|
Logging.Logging.Debug("Barcode-Übersteuerung" + sb.dokumenttypnr, "Serienbrief", "");
|
|
sb.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]);
|
|
sb.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]);
|
|
sb.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]);
|
|
sb.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]);
|
|
}
|
|
sb.barcode_font = AppParams.barcodefont;
|
|
sb.barcode_fontsize = AppParams.barcodefontsize;
|
|
sb.barcode_textposition = AppParams.barcodetextposition;
|
|
sb.barcode_zusatz = "";
|
|
|
|
|
|
sb.filename = db.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
|
|
pnlLoad.Visible = false;
|
|
update_screen();
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
enable_disable_functions(6, false);
|
|
if (sb.status == 1) { enable_disable_functions(7, false); }
|
|
db = null;
|
|
}
|
|
private void update_screen()
|
|
{
|
|
txtbezeichnung.Text = sb.bezeichnung;
|
|
cbboxpostzustellung.SelectedValue = sb.postzustellung;
|
|
cbboxunterschriftlinks.SelectedValue = sb.unterschriftlinks;
|
|
cbboxunterschriftrechts.SelectedValue = sb.unterschriftrechts;
|
|
cbboxverantwortlich.SelectedValue = sb.verantwortlich;
|
|
cbformularohneunterschrfit.Checked = sb.ohneunterschrift == 1;
|
|
cbdigitaleunterschrfiten.Checked = sb.faksimile == 1;
|
|
|
|
DateDokumentDatum.Value = sb.archivdatum;
|
|
switch (sb.ppfaktura)
|
|
{
|
|
case 0: rbppohne.Checked = true; break;
|
|
case 1: rbppa.Checked = true; break;
|
|
case 2: rbbpb.Checked = true; break;
|
|
}
|
|
if (sb.zustaendig == -1)
|
|
{
|
|
rbzustaendigkube.Checked = true; rbzustaendigmitarbeiter.Checked = false;
|
|
}
|
|
else
|
|
{
|
|
rbzustaendigkube.Checked = false;
|
|
rbzustaendigmitarbeiter.Checked = true;
|
|
cbboxzustaendigmitarbeiter.SelectedValue = sb.zustaendig;
|
|
if (sb.zustaendig == 0) { cbboxzustaendigmitarbeiter.SelectedValue = AppParams.CurrentMitarbeiter; }
|
|
}
|
|
update_zahlen();
|
|
GrpDokumentInhalt.Enabled = true;
|
|
grpFaktura.Enabled = true;
|
|
|
|
}
|
|
|
|
private void btnsbloadcancel_Click(object sender, EventArgs e)
|
|
{
|
|
pnlLoad.Visible = false;
|
|
GrpEmpfaenger.Visible = true;
|
|
GrpDokumentInhalt.Visible = true;
|
|
|
|
}
|
|
|
|
private void sfdatagridsbload_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var selectedItem = e.DataRow;
|
|
var dataRow = (e.DataRow.RowData as DataRowView).Row;
|
|
selectedsbnr = Convert.ToInt32(dataRow["id"].ToString());
|
|
}
|
|
catch { }
|
|
|
|
|
|
}
|
|
|
|
private void ribbonButton1_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
|
|
try
|
|
{
|
|
sbedit.Dispose();
|
|
}
|
|
catch { }
|
|
sbedit = new SerienbriefBearbeitung(this.sb);
|
|
sbedit.Show();
|
|
|
|
this.sb = sbedit.sb;
|
|
update_serienbriefdaten(false);
|
|
|
|
}
|
|
|
|
private void ribbonbuttonaddpartner_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
Partnersuche ps = new Partnersuche(true);
|
|
ps.ShowDialog();
|
|
if (ps.DialogResult == DialogResult.OK)
|
|
{
|
|
try
|
|
{
|
|
if (sb.dsempfaenger.Tables[0].Rows[0]["Status"].ToString() == "-1")
|
|
{
|
|
sb.dsempfaenger.Tables[0].Rows.RemoveAt(0);
|
|
}
|
|
}
|
|
catch { }
|
|
add_partner(ps.partnernr.ToString());
|
|
}
|
|
}
|
|
|
|
private void add_partner(string ipartnernr)
|
|
{
|
|
if (ipartnernr == "") { return; }
|
|
this.partnernr = "";
|
|
bool found = false;
|
|
foreach (System.Data.DataColumn dc in sb.dsempfaenger.Tables[0].Columns)
|
|
{
|
|
if (dc.ColumnName.ToUpper() == "INTEINTRAGNR") { found = true; }
|
|
}
|
|
if (!found) { sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr"); }
|
|
int lastid = sb.dsempfaenger.Tables[0].Rows.Count;
|
|
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select bkpar00, saldiert from partner where nrpar00=" + ipartnernr, false, true);
|
|
if (db.dsdaten.Tables[0].Rows.Count > 0)
|
|
{
|
|
System.Data.DataRow dr = sb.dsempfaenger.Tables[0].NewRow();
|
|
for (int i = 1; i < sb.dsempfaenger.Tables[0].Columns.Count; i++)
|
|
{
|
|
dr[i] = "";
|
|
}
|
|
dr["partnernr"] = Convert.ToInt32(ipartnernr);
|
|
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]) == 1)
|
|
{
|
|
|
|
dr["kurzbezeichnung"] = "SALDIERT: "+db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
}
|
|
else
|
|
{
|
|
dr["kurzbezeichnung"] = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
|
|
}
|
|
db.Get_Tabledata("select dbo.fnkt_check_blkunde(" + ipartnernr.ToString() + ")", false, true);
|
|
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0])>0) { dr["BLKUNDE"] = "1"; } else { dr["BLKUNDE"] = "0"; }
|
|
dr["STATUS"] = 0;
|
|
dr["FEHLERCODE"] = 0;
|
|
dr["IntEintragnr"] = lastid;
|
|
|
|
sb.dsempfaenger.Tables[0].Rows.Add(dr);
|
|
this.partnernr = "";
|
|
if (sb.dsempfaenger.Tables[0].Rows.Count == 2 && sb.dsempfaenger.Tables[0].Rows[0][0].ToString() == "")
|
|
{
|
|
sb.dsempfaenger.Tables[0].Rows.RemoveAt(0);
|
|
}
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
}
|
|
db = null;
|
|
|
|
}
|
|
|
|
private void partnerHinzufügenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
ribbonbuttonaddpartner_Click(sender, e);
|
|
}
|
|
|
|
private void partnerLöschenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
sfDataGridEmpfaenger.AllowDeleting = true;
|
|
sfDataGridEmpfaenger.DeleteSelectedRecords();
|
|
sfDataGridEmpfaenger.AllowDeleting = false;
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
return;
|
|
|
|
}
|
|
|
|
private void sfdatagridsbload_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
if (sfdatagridsbload.RowCount == 0) return;
|
|
bntsbloadok_Click(sender, e);
|
|
}
|
|
|
|
private void sfdatagridsbload_CellDoubleClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
bntsbloadok_Click(sender, e);
|
|
}
|
|
|
|
private bool Partnerliste_Pruefen()
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
//Logging.Logging.Debug("Create sb_chechtable", "OnDoc", "");
|
|
db.create_sb_check_table(AppParams.CurrentMitarbeiter);
|
|
//Logging.Logging.Debug("Save Check_Data", "OnDoc", "");
|
|
db.save_sb_checkdata(AppParams.CurrentMitarbeiter, sb);
|
|
System.Data.DataTable dt = new System.Data.DataTable();
|
|
dt = db.Check_sb_Data(AppParams.CurrentMitarbeiter, sb);
|
|
//Logging.Logging.Debug("Check_sb_Data ", "OnDoc", dt.Rows.Count.ToString());
|
|
string msg = "";
|
|
init_progressbar("Partnerliste prüfen", dt.Rows.Count);
|
|
bool bldossier = false;
|
|
System.Data.DataRow[] dr;
|
|
for (int i = 0, loopTo = dt.Rows.Count - 1; i <= loopTo; i++)
|
|
{
|
|
add_progress();
|
|
System.Windows.Forms.Application.DoEvents();
|
|
dr = sb.dsempfaenger.Tables[0].Select("Partnernr='" + dt.Rows[i][0].ToString() + "' and status<>1");
|
|
if (dr.Length == 0)
|
|
{
|
|
dr = sb.dsempfaenger.Tables[0].Select("Partnernr=''");
|
|
}
|
|
|
|
|
|
foreach (var dr1 in dr)
|
|
{
|
|
dr1["blkunde"] = dt.Rows[i]["blkunde"].ToString();
|
|
dr1["Status"] = dt.Rows[i]["status"];
|
|
// Logging.Logging.Debug("dr1 ", "OnDoc", dr1["Status"].ToString());
|
|
try
|
|
{
|
|
if (Convert.ToInt32(dr1["status"]) == -9)
|
|
{
|
|
dr1["Status"] = 0;
|
|
if (dr1[1].ToString().Contains("SALDIERT:"))
|
|
{
|
|
}
|
|
else
|
|
{
|
|
dr1[1] = "SALDIERT: " + dr1[1].ToString();
|
|
}
|
|
}
|
|
|
|
if (Convert.ToInt32(dt.Rows[i]["Fehlercode"]) > 0)
|
|
{
|
|
dr1["Fehlercode"] = dt.Rows[i]["Fehlercode"];
|
|
}
|
|
if (Convert.ToInt32(dt.Rows[i]["Fehlercode"]) >= 10)
|
|
{
|
|
if (Convert.ToInt32(dt.Rows[i]["Fehlercode"]) == 11)
|
|
{
|
|
// MyMsg.show_standardmessage(920000, MsgBoxStyle.Exclamation)
|
|
msg = "Die Serienbriefvorlage ist für Personen-Dokumente. Es sind jedoch BP's in der Partnerliste. Der Serienbrief kann nicht generiert werden.";
|
|
}
|
|
else
|
|
{
|
|
msg = "Die Serienbriefvorlage ist für BP-Dokumente. Es sind jedoch Personen-Nummern in der Partnerliste. Der Serienbrief kann nicht generiert weden.";
|
|
}
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (Convert.ToInt32(dt.Rows[i][4]) == 1) { bldossier = true; };
|
|
}
|
|
//Logging.Logging.Debug("Check Duplicates ", "OnDoc", "");
|
|
var duplicates = sb.dsempfaenger.Tables[0].AsEnumerable()
|
|
.GroupBy(r => r[0])//Using Column Index
|
|
.Where(gr => gr.Count() > 1)
|
|
.Select(g => g.Key);
|
|
string check_duplicates = "";
|
|
foreach (var dup in duplicates)
|
|
{
|
|
set_grid_color(dup.ToString());
|
|
if (check_duplicates != "") { check_duplicates = check_duplicates + ", "; }
|
|
check_duplicates = check_duplicates + dup.ToString();
|
|
}
|
|
if (check_duplicates != "")
|
|
{
|
|
MessageBox.Show("In der Partnerliste sind folgende Duplikate vorhanden: " + Environment.NewLine + check_duplicates, "Partnerprüfung", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
finish_progress();
|
|
return false;
|
|
}
|
|
//System.Data.DataTable tbNew = (System.Data.DataTable)duplicates;
|
|
|
|
if (sb.dsempfaenger.Tables[0].Columns.Count > 20) { check_zwingende_felder(); }
|
|
finish_progress();
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
if (msg != "")
|
|
{
|
|
MessageBox.Show(msg, "Serienbrief", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return false;
|
|
}
|
|
//Logging.Logging.Debug("Ende Pruefung", "OnDoc","");
|
|
return true;
|
|
}
|
|
|
|
private void set_grid_color(string partner)
|
|
{
|
|
|
|
|
|
}
|
|
private void check_zwingende_felder()
|
|
{
|
|
|
|
for (int i = 20; i < sb.dsempfaenger.Tables[0].Columns.Count; i++)
|
|
{
|
|
try
|
|
{
|
|
if (Convert.ToInt32(sb.dsempfaenger.Tables[1].Rows[0][sb.dsempfaenger.Tables[0].Columns[i].ColumnName]) == 1)
|
|
{
|
|
|
|
System.Data.DataRow[] dr = sb.dsempfaenger.Tables[0].Select("[" + sb.dsempfaenger.Tables[0].Columns[i].ColumnName + "] <>''");
|
|
foreach (System.Data.DataRow dr2 in dr)
|
|
{
|
|
if (Convert.ToInt32(dr2["Status"]) == 0) { dr2["Status"] = 0; }
|
|
}
|
|
|
|
dr = sb.dsempfaenger.Tables[0].Select("[" + sb.dsempfaenger.Tables[0].Columns[i].ColumnName + "] =''");
|
|
foreach (System.Data.DataRow dr2 in dr)
|
|
{
|
|
if (Convert.ToInt32(dr2["Status"]) == 0)
|
|
{
|
|
dr2["Status"] = -1;
|
|
dr2["Fehlercode"] = 2;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
}
|
|
}
|
|
|
|
private void ribbonButton2_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
lblProgressTitel.Text = "Partnerliste prüfen";
|
|
pnlprogress.Visible = true;
|
|
//Logging.Logging.Debug("Partnerliste Pruefen", "OnDoc", "");
|
|
Partnerliste_Pruefen();
|
|
treeViewAdv1_AfterSelect(sender, e);
|
|
pnlprogress.Visible = false;
|
|
}
|
|
|
|
System.Data.DataTable vorlagendaten = new System.Data.DataTable();
|
|
private void RibbonButtonGenerateSB_Click(object sender, EventArgs e)
|
|
{
|
|
if (cbdigitaleunterschrfiten.Checked && sb.approved!=1)
|
|
{
|
|
sb.toapproval = 1;
|
|
sb.approved = 0;
|
|
sb.approval1 = 0;
|
|
sb.approval2 = 0;
|
|
}
|
|
ribbonbuttonsave_Click(sender, e);
|
|
|
|
if (!Partnerliste_Pruefen()) { return; }
|
|
Generate();
|
|
}
|
|
|
|
private bool Check_Signature(int mitarbeiternr)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
try
|
|
{
|
|
db.Get_Tabledata("Select tgnummer from mitarbeiter where mitarbeiternr=" + mitarbeiternr.ToString(), false, true);
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "")
|
|
{
|
|
return false;
|
|
}
|
|
string URL = AppParams.RESTURI + "API/CheckSignature?TGNummer=" + db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest;
|
|
webRequest.Method = WebRequestMethods.Http.Get;
|
|
webRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey;
|
|
try
|
|
{
|
|
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
|
|
{
|
|
if (response.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader reader = new StreamReader(response.GetResponseStream());
|
|
string responseContent = reader.ReadToEnd();
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", "");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
return false;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
finally { db = null; }
|
|
|
|
}
|
|
private void Generate(int vorschauid = -1)
|
|
{
|
|
|
|
|
|
ToastMessage.ShowToast("Speichern", "Serienbriefdaten wurden gespeichert");
|
|
vorlagendaten = null;
|
|
vorlagendaten = new System.Data.DataTable();
|
|
vorlagendaten = Datentabelle_Generieren();
|
|
dg = new DOCGEN.DocGen();
|
|
dget = new DOCGEN.DocGet(AppParams.connectionstring);
|
|
DB dB = new DB(AppParams.connectionstring);
|
|
if (vorschauid == -1)
|
|
{
|
|
dB.Exec_SQL("Update serienbrief_Bewilligung set aktiv=0, mutiert_am=getdate(),mutierer="+ AppParams.CurrentMitarbeiter.ToString() + " where serienbriefnr=" + sb.serienbriefnr.ToString());
|
|
}
|
|
if (IsPreview)
|
|
{
|
|
Helper.FileHelper fh = new FileHelper();
|
|
sb.VorlageBase64 = fh.Base64FromFile(PreviewFiename);
|
|
}
|
|
else
|
|
{
|
|
string fn = dB.get_sb_vorlage(sb.serienbriefnr, AppParams.tempdir);
|
|
sb.VorlageBase64 = dB.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
}
|
|
|
|
sb.DocValues = new List<clsDocValue>();
|
|
|
|
APIHelper imghelper = new APIHelper(AppParams.RESTURI, AppParams.apikey);
|
|
if (sb.faksimile_unterschrfit == "True")
|
|
{
|
|
sb.img_unterschriftlinks = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(imghelper.get_unterschrift(sb.unterschriftlinks.ToString()));
|
|
sb.img_unterschrfitrechts = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(imghelper.get_unterschrift(sb.unterschriftrechts.ToString()));
|
|
}
|
|
sb.img_faktura = "";
|
|
if (sb.ppfaktura == 1)
|
|
{
|
|
sb.img_faktura = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(imghelper.get_image(1, -1, 0));
|
|
}
|
|
if (sb.ppfaktura == 2)
|
|
{
|
|
sb.img_faktura = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(imghelper.get_image(2, -1, 0));
|
|
}
|
|
if (cbboxunterschriftlinks.Text.Trim() == "") { sb.unterschriftlinks = 0; }
|
|
if (cbboxunterschriftrechts.Text.Trim() == "") { sb.unterschriftrechts = 0; };
|
|
|
|
bool error = false;
|
|
if (cbdigitaleunterschrfiten.Checked)
|
|
{
|
|
if (sb.unterschriftlinks != 0)
|
|
{
|
|
if (!Check_Signature(sb.unterschriftlinks))
|
|
{
|
|
MessageBox.Show("Unterschrift von " + cbboxunterschriftlinks.Text + " fehlt", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
error = true;
|
|
};
|
|
}
|
|
if (sb.unterschriftrechts != 0)
|
|
{
|
|
if (!Check_Signature(sb.unterschriftrechts))
|
|
{
|
|
MessageBox.Show("Unterschrift von " + cbboxunterschriftrechts.Text + " fehlt", "Unterschriftenprüfung", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
error = true;
|
|
}
|
|
}
|
|
if (error) { return; }
|
|
}
|
|
|
|
|
|
imghelper = null;
|
|
|
|
|
|
vorlagendaten_aufbereiten(vorschauid);
|
|
if (cbdigitaleunterschrfiten.Checked)
|
|
{
|
|
sb.toapproval = 1;
|
|
sb.approved = 0;
|
|
sb.approval1 = 0;
|
|
sb.approval2 = 0;
|
|
}else
|
|
{
|
|
sb.toapproval = 0;
|
|
sb.approved = 0;
|
|
sb.approval1 = 0;
|
|
sb.approval2 = 0;
|
|
|
|
}
|
|
update_serienbriefdaten(false);
|
|
update_zahlen();
|
|
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[2];
|
|
update_grid();
|
|
|
|
}
|
|
|
|
private void vorlagendaten_aufbereiten(int vorschauid = -1)
|
|
{
|
|
|
|
init_progressbar("Dokumente generieren", vorlagendaten.Rows.Count);
|
|
for (int i = 0, loopTo = vorlagendaten.Rows.Count - 1; i <= loopTo; i++)
|
|
{
|
|
if (vorschauid == -1 || Convert.ToInt32(vorlagendaten.Rows[i]["IntEintragnr"]) == vorschauid)
|
|
{
|
|
add_progress();
|
|
System.Windows.Forms.Application.DoEvents();
|
|
|
|
string sp1 = "";
|
|
string[] sp2;
|
|
string feldnr;
|
|
for (int i1 = 0, loopTo1 = vorlagendaten.Columns.Count - 1; i1 <= loopTo1; i1++)
|
|
{
|
|
try
|
|
{
|
|
sp1 = vorlagendaten.Columns[i1].ColumnName;
|
|
sp2 = sp1.Split(new string[] { "_09_" }, StringSplitOptions.None);
|
|
sp1 = sp2[0] + "_09_" + sp2[2];
|
|
feldnr = sp2[1].ToString();
|
|
sp1 = sp1;
|
|
}
|
|
catch
|
|
{
|
|
sp1 = vorlagendaten.Columns[i1].ColumnName;
|
|
feldnr = sp1;
|
|
}
|
|
try
|
|
{
|
|
switch (sp1)
|
|
{
|
|
// Mapping Zustelladresse
|
|
case "F_09_1":
|
|
case "F_09_10":
|
|
{
|
|
if (vorlagendaten.Rows[i]["Zustelladresse"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["Zustelladresse"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_89":
|
|
{
|
|
if (vorlagendaten.Rows[i]["Name"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["Name"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_111":
|
|
{
|
|
if (vorlagendaten.Rows[i]["Vorname"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["Vorname"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_122":
|
|
case "F_09_123":
|
|
case "F_09_20":
|
|
{
|
|
string s = "";
|
|
string s1;
|
|
if (vorlagendaten.Rows[i]["Briefanrede1"] != "")
|
|
{
|
|
s = vorlagendaten.Rows[i]["Briefanrede1"].ToString();
|
|
if (s.Substring(0, 4) == "Herr")
|
|
{
|
|
s = "r " + s;
|
|
}
|
|
else
|
|
{
|
|
s = " " + s;
|
|
}
|
|
}
|
|
if (vorlagendaten.Rows[i]["Briefanrede2"] != "")
|
|
{
|
|
if (!string.IsNullOrEmpty(s))
|
|
s = s + Environment.NewLine;
|
|
s1 = vorlagendaten.Rows[i]["Briefanrede2"].ToString();
|
|
if (s.Substring(0, 4) == "Herr")
|
|
{
|
|
s = s + "Sehr geehrter " + s1;
|
|
}
|
|
else
|
|
{
|
|
s = s + "Sehr geehrte " + s1;
|
|
}
|
|
}
|
|
if (!string.IsNullOrEmpty(s))
|
|
{
|
|
vorlagendaten.Rows[i][i1] = s;
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_98":
|
|
{
|
|
if (vorlagendaten.Rows[i]["Strasse"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["Strasse"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_93":
|
|
{
|
|
if (vorlagendaten.Rows[i]["Ort"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["Ort"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case var @case when @case == "F_09_93":
|
|
{
|
|
if (vorlagendaten.Rows[i]["Ort"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["Ort"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_96":
|
|
{
|
|
if (vorlagendaten.Rows[i]["PLZ"] != "")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["PLZ"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
case "F_09_132":
|
|
{
|
|
if (vorlagendaten.Rows[i]["PLZ"].ToString() != "" | vorlagendaten.Rows[i]["Ort"].ToString() != "0")
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i]["PLZ"] + " " + vorlagendaten.Rows[i]["Ort"];
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
default:
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
|
|
// Verknüpfte Felder
|
|
try
|
|
{
|
|
int i2;
|
|
var loopTo2 = sb.dsempfaenger.Tables["VerkFelder"].Rows.Count - 1;
|
|
for (i2 = 0; i2 <= loopTo2; i2++)
|
|
{
|
|
if (feldnr == sb.dsempfaenger.Tables["verkfelder"].Rows[i2]["Vorlagenfeldnr"].ToString())
|
|
{
|
|
vorlagendaten.Rows[i][i1] = vorlagendaten.Rows[i][sb.dsempfaenger.Tables["verkfelder"].Rows[i2]["IDVWert"].ToString()];
|
|
}
|
|
}
|
|
}
|
|
|
|
catch
|
|
{
|
|
|
|
}
|
|
if (object.ReferenceEquals(vorlagendaten.Rows[i][i1], DBNull.Value))
|
|
{
|
|
vorlagendaten.Rows[i][i1] = "";
|
|
}
|
|
try
|
|
{
|
|
if (vorlagendaten.Columns[i1].ColumnName.ToString().Substring(0, 5) == "F_09_")
|
|
{
|
|
Insert_Value(vorlagendaten.Rows[i][i1].ToString(), vorlagendaten.Columns[i1].ColumnName);
|
|
}
|
|
}
|
|
catch { }
|
|
try
|
|
{
|
|
if (vorlagendaten.Columns[i1].ColumnName.ToString().Substring(0, 5) == "I_09_")
|
|
{
|
|
string intfeldname;
|
|
string Intbookmark;
|
|
string IntWert;
|
|
intfeldname = vorlagendaten.Columns[i1].ColumnName;
|
|
Intbookmark = Helper.Strings.Right(vorlagendaten.Columns[i1].ColumnName, vorlagendaten.Columns[i1].ColumnName.Length - 5);
|
|
IntWert = Helper.Strings.Right(vorlagendaten.Columns[i1].ColumnName, vorlagendaten.Columns[i1].ColumnName.Length - 14);
|
|
|
|
int ind;
|
|
ind = IntWert.IndexOf("_09_");
|
|
IntWert = Helper.Strings.Left(IntWert, ind);
|
|
// SplitArray = IntWert.Split("_09_")
|
|
// IntWert = SplitArray(0)
|
|
// IntWert = RenCol(IntWert)
|
|
Insert_Value(vorlagendaten.Rows[i][IntWert].ToString(), Intbookmark);
|
|
}
|
|
}
|
|
catch { }
|
|
try
|
|
{
|
|
if (vorlagendaten.Columns[i1].ColumnName.ToString().Substring(0, 2) == "$$")
|
|
{
|
|
Insert_Value(vorlagendaten.Rows[i][i1].ToString(), vorlagendaten.Columns[i1].ColumnName);
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
Helper.FileHelper fh = new FileHelper();
|
|
DB db = new DB(AppParams.connectionstring);
|
|
System.Data.DataRow dr = sb.dsempfaenger.Tables[0].Select("intEintragnr = '" + vorlagendaten.Rows[i]["IntEintragnr"].ToString() + "'").FirstOrDefault();
|
|
string dokumentid = "";
|
|
if (dr != null)
|
|
{
|
|
dokumentid = dr["dokumentid"].ToString();
|
|
}
|
|
if (dokumentid == "") { dokumentid = db.get_dbkey("Dokument"); }
|
|
string filename = dokumentid + ".pdf";
|
|
|
|
if (vorschauid != -1 && Convert.ToInt32(vorlagendaten.Rows[i]["IntEintragnr"]) == vorschauid)
|
|
{
|
|
string pdfdoc_preview = dget.Convert_Word_To_PDF(dg.generate_serienbrief(sb.VorlageBase64, sb, dokumentid, AppParams.RESTURI, AppParams.apikey));
|
|
sbedit.Update_Preview(pdfdoc_preview);
|
|
}
|
|
else
|
|
{
|
|
string pdfdoc = dget.Convert_Word_To_PDF(dg.generate_serienbrief(sb.VorlageBase64, sb, dokumentid, AppParams.RESTURI, AppParams.apikey));
|
|
|
|
fh.SaveBase64ToFile(pdfdoc, AppParams.tempdir + filename);
|
|
db.save_serienbrief_datei(sb.serienbriefnr, Convert.ToInt32(vorlagendaten.Rows[i]["IntEintragnr"]), AppParams.tempdir + filename, dokumentid);
|
|
System.IO.File.Delete(AppParams.tempdir + filename);
|
|
}
|
|
db = null;
|
|
if (dr != null && vorschauid == -1)
|
|
{
|
|
dr["STATUS"] = "1";
|
|
dr["Dokumentid"] = dokumentid;
|
|
}
|
|
|
|
sb.DocValues.Clear();
|
|
}
|
|
}
|
|
finish_progress();
|
|
|
|
}
|
|
|
|
private void insert_PPZeile(string position, string typ)
|
|
{
|
|
|
|
}
|
|
private void Insert_Value(string feldwert, string feldname)
|
|
{
|
|
System.Data.DataRow dc;
|
|
int pos1;
|
|
int pos2;
|
|
string beginntextmarke = "";
|
|
string endetextmarke = "";
|
|
// Test
|
|
if (feldwert == "**PPZeileB")
|
|
{
|
|
// MsgBox(beginntextmarke)
|
|
foreach (System.Data.DataRow currentDc in sb.dsempfaenger.Tables["UsedFelder"].Rows)
|
|
{
|
|
dc = currentDc;
|
|
if (dc["TempFeldName"] == feldname)
|
|
{
|
|
beginntextmarke = dc["Beginntextmarke"].ToString();
|
|
endetextmarke = dc["Endetextmarke"].ToString();
|
|
feldname = dc["Feldname"].ToString();
|
|
insert_PPZeile(beginntextmarke, "B");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (feldwert == "**PPZeileA")
|
|
{
|
|
// MsgBox(beginntextmarke)
|
|
foreach (System.Data.DataRow currentDc in sb.dsempfaenger.Tables["UsedFelder"].Rows)
|
|
{
|
|
dc = currentDc;
|
|
if (dc["TempFeldName"] == feldname)
|
|
{
|
|
beginntextmarke = dc["Beginntextmarke"].ToString();
|
|
endetextmarke = dc["Endetextmarke"].ToString();
|
|
feldname = dc["Feldname"].ToString();
|
|
insert_PPZeile(beginntextmarke, "A");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (Helper.Strings.Left(feldname, 5) == "TMISB")
|
|
{
|
|
beginntextmarke = feldname;
|
|
endetextmarke = "";
|
|
feldname = "";
|
|
}
|
|
else
|
|
{
|
|
foreach (System.Data.DataRow currentDc2 in sb.dsempfaenger.Tables["UsedFelder"].Rows)
|
|
{
|
|
dc = currentDc2;
|
|
if (dc["TempFeldName"].ToString() == feldname)
|
|
{
|
|
beginntextmarke = dc["Beginntextmarke"].ToString();
|
|
endetextmarke = dc["Endetextmarke"].ToString();
|
|
feldname = dc["Feldname"].ToString();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
// contentcontrols
|
|
try
|
|
{
|
|
if (feldname.Length > 2)
|
|
{
|
|
if (feldname != "" & feldname.Substring(0, 3) == "cc_")
|
|
{
|
|
//objword.ActiveDocument.SelectContentControlsByTag(feldname).Item(1).Range.Text = feldwert;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
}
|
|
|
|
clsDocValue dv = new clsDocValue();
|
|
|
|
dv.TMBeginn = beginntextmarke; ;
|
|
dv.TMEnd = endetextmarke;
|
|
dv.Value = feldwert;
|
|
dv.FieldName = feldname;
|
|
sb.DocValues.Add(dv);
|
|
|
|
}
|
|
|
|
private string Insert_DT_Column(ref System.Data.DataTable dt, string colname)
|
|
{
|
|
int i = 0;
|
|
foreach (DataColumn dc in dt.Columns)
|
|
{
|
|
if (dc.ColumnName.Length >= colname.Length)
|
|
{
|
|
if (dc.ColumnName.Substring(0, colname.Length - 1).ToUpper() == colname.ToUpper())
|
|
{
|
|
i = i + 1;
|
|
}
|
|
}
|
|
}
|
|
if (i > 0)
|
|
colname = colname + "_" + i.ToString();
|
|
try
|
|
{
|
|
dt.Columns.Add(colname);
|
|
}
|
|
catch { }
|
|
return colname;
|
|
}
|
|
|
|
private System.Data.DataTable Datentabelle_Generieren()
|
|
{
|
|
var dt = new System.Data.DataTable();
|
|
System.Data.DataRow dn;
|
|
int i;
|
|
|
|
var aPrimaryKey = new DataColumn[1];
|
|
DataColumn oDatacolumn;
|
|
try
|
|
{
|
|
sb.dsempfaenger.Tables[0].Columns.Add("IntEintragnr");
|
|
}
|
|
catch { }
|
|
var loopTo = sb.dsempfaenger.Tables[0].Rows.Count - 1;
|
|
for (i = 0; i <= loopTo; i++)
|
|
sb.dsempfaenger.Tables[0].Rows[i]["IntEintragNr"] = i;
|
|
oDatacolumn = sb.dsempfaenger.Tables[0].Columns["IntEintragnr"];
|
|
aPrimaryKey[0] = oDatacolumn;
|
|
sb.dsempfaenger.Tables[0].PrimaryKey = aPrimaryKey;
|
|
sb.dsempfaenger.AcceptChanges();
|
|
dt.TableName = "EDKB09_" + sb.serienbriefnr.ToString();
|
|
var loopTo1 = sb.dsempfaenger.Tables[0].Columns.Count - 1;
|
|
for (i = 0; i <= loopTo1; i++)
|
|
dt.Columns.Add(sb.dsempfaenger.Tables[0].Columns[i].ColumnName);
|
|
System.Data.DataRow[] dv;
|
|
|
|
dv = sb.dsempfaenger.Tables[0].Select("Status=0");
|
|
|
|
|
|
foreach (System.Data.DataRow dr in dv)
|
|
{
|
|
dt.ImportRow(dr);
|
|
}
|
|
|
|
|
|
bool tmkopfzeile = false;
|
|
sb.dsempfaenger.Tables["UsedFelder"].AcceptChanges();
|
|
try
|
|
{
|
|
var loopTo2 = sb.dsempfaenger.Tables["UsedFelder"].Rows.Count - 1;
|
|
for (i = 0; i <= loopTo2; i++)
|
|
{
|
|
if (sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["Nr"].ToString() == "33")
|
|
{
|
|
tmkopfzeile = true;
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
object a;
|
|
a = 1;
|
|
}
|
|
|
|
if (tmkopfzeile == false)
|
|
{
|
|
dn = sb.dsempfaenger.Tables["UsedFelder"].NewRow();
|
|
dn[0] = 33;
|
|
dn[1] = "TGEDKCompanyBBEB99";
|
|
dn[2] = "";
|
|
dn[3] = "TGEDKCompanyBBEB99";
|
|
dn[4] = "";
|
|
sb.dsempfaenger.Tables["UsedFelder"].Rows.Add(dn);
|
|
}
|
|
|
|
try
|
|
{
|
|
sb.dsempfaenger.Tables["UsedFelder"].Columns.Add("Fnkt");
|
|
sb.dsempfaenger.Tables["UsedFelder"].Columns.Add("TempFeldname");
|
|
}
|
|
catch { }
|
|
string s;
|
|
System.Data.DataTable dtx = sb.dsempfaenger.Tables["UsedFelder"].Copy();
|
|
var loopTo3 = sb.dsempfaenger.Tables["UsedFelder"].Rows.Count - 1;
|
|
for (i = 0; i <= loopTo3; i++)
|
|
{
|
|
|
|
if (Convert.ToInt32(sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["Nr"]) != 0)
|
|
{
|
|
s = "F_09_" + sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["Nr"].ToString();
|
|
sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["fnkt"] = s;
|
|
s = Insert_DT_Column(ref dt, s);
|
|
sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["Tempfeldname"] = s;
|
|
}
|
|
else
|
|
{
|
|
s = "I_09_" + sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["Beginntextmarke"];
|
|
sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["fnkt"] = s;
|
|
s = Insert_DT_Column(ref dt, s);
|
|
sb.dsempfaenger.Tables["UsedFelder"].Rows[i]["Tempfeldname"] = s;
|
|
}
|
|
}
|
|
// Me.dsempfaenger.WriteXml("d:\test.xmls")
|
|
//dt.Columns["intEintragnr"].
|
|
DB db = new DB(AppParams.connectionstring);
|
|
//db.Get_Tabledata_for_Update("Select * from edkb09_" + sb.serienbriefnr.ToString(), false, true);
|
|
//db.daten.Tables.Clear();
|
|
//db.daten.Tables.Add(dt.Copy());
|
|
//db.daten.Tables[0].Columns["Partnernr"].ColumnName = "NRPAR00";
|
|
//db.daten.Tables[0].TableName = "Daten";
|
|
//db.Update_Data();
|
|
//dt.Columns["Partnernr"].ColumnName = "NRPAR00";
|
|
db.Create_sb_SQL_Server_Table(ref dt, sb);
|
|
db.Save_sb_Data_To_Temptable(ref dt, sb);
|
|
return db.Fill_And_Get_Data(sb);
|
|
}
|
|
|
|
private void sfDataGridEmpfaenger_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
|
|
{
|
|
if (docPreview1.Visible == true)
|
|
{
|
|
try
|
|
{
|
|
var selectedItem = e.DataRow;
|
|
var dataRow = (e.DataRow.RowData as DataRowView).Row;
|
|
string inteintragnr = "0";
|
|
inteintragnr = dataRow["inteintragnr"].ToString();
|
|
string dokumentid = dataRow["dokumentid"].ToString();
|
|
docPreview1.Show_Serienbrief_Dokument(sb.serienbriefnr, Convert.ToInt32(inteintragnr), dokumentid);
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
|
|
private void init_progressbar(string title, int maxvalue)
|
|
{
|
|
progressBarAdv1.Value = 0;
|
|
progressBarAdv1.Maximum = maxvalue;
|
|
progressBarAdv1.Minimum = 0;
|
|
lblProgressTitel.Text = title;
|
|
pnlprogress.Visible = true;
|
|
}
|
|
|
|
private void add_progress()
|
|
{
|
|
progressBarAdv1.Value = progressBarAdv1.Value + 1;
|
|
System.Windows.Forms.Application.DoEvents();
|
|
}
|
|
private void finish_progress()
|
|
{
|
|
pnlprogress.Visible = false;
|
|
}
|
|
|
|
private void merge()
|
|
{
|
|
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
|
|
dv.RowFilter = "Status = 1";
|
|
dv.Sort = "Partnernr";
|
|
PdfDocument finalDoc = new PdfDocument();
|
|
|
|
int normalcount = 0;
|
|
int blcount = 0;
|
|
foreach (DataRowView rowView in dv)
|
|
{
|
|
|
|
System.Data.DataRow dr = rowView.Row;
|
|
if (dr["blkunde"].ToString()=="1") { blcount++; } else { normalcount++; }
|
|
}
|
|
|
|
DB db = new DB(AppParams.connectionstring);
|
|
int stapelgroesse = 200;
|
|
int stapel = 1;
|
|
int i = 0;
|
|
int anzahl_stapel = (normalcount / 100) + 1;
|
|
if (blcount > 0)
|
|
{
|
|
btnblexport.Visible = true;
|
|
System.Windows.Forms.Application.DoEvents();
|
|
}
|
|
Stream[] streams = null;
|
|
if (normalcount > stapelgroesse) { streams = new Stream[stapelgroesse]; } else streams = new Stream[normalcount];
|
|
init_progressbar("Druckstapel generieren", dv.Count);
|
|
if (normalcount > 0)
|
|
{
|
|
foreach (DataRowView rowView in dv)
|
|
{
|
|
add_progress();
|
|
System.Data.DataRow dr = rowView.Row;
|
|
if (dr["blkunde"].ToString() != "1")
|
|
{
|
|
db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where dokumentid='" + dr["Dokumentid"].ToString() + "'", false, true);
|
|
var stream = new MemoryStream(Convert.FromBase64String(db.dsdaten.Tables[0].Rows[0][0].ToString()));
|
|
if (stream.Length > 0)
|
|
{
|
|
streams[i] = stream;
|
|
i++;
|
|
if (i >= stapelgroesse)
|
|
{
|
|
save_stapel(stapel, ref streams);
|
|
|
|
i = 0;
|
|
if (dv.Count - (stapel * stapelgroesse) >= stapelgroesse) { streams = new Stream[stapelgroesse]; }
|
|
else
|
|
{
|
|
streams = new Stream[dv.Count - (stapel * stapelgroesse)];
|
|
}
|
|
//streams = new Stream[dv.Count - (stapel * stapelgroesse)];
|
|
stapel++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
save_stapel(stapel, ref streams);
|
|
}
|
|
//if (blcount > 0)
|
|
//{
|
|
// i = 0;
|
|
// anzahl_stapel = (blcount / 100) + 1;
|
|
// streams = null;
|
|
// if (blcount > stapelgroesse) { streams = new Stream[stapelgroesse]; } else streams = new Stream[blcount];
|
|
// stapel = stapel + 1;
|
|
// i = 0;
|
|
// foreach (DataRowView rowView in dv)
|
|
// {
|
|
// add_progress();
|
|
// System.Data.DataRow dr = rowView.Row;
|
|
// if (dr["blkunde"].ToString() == "1")
|
|
// {
|
|
|
|
// db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where dokumentid='" + dr["Dokumentid"].ToString() + "'", false, true);
|
|
// var stream = new MemoryStream(Convert.FromBase64String(db.dsdaten.Tables[0].Rows[0][0].ToString()));
|
|
// if (stream.Length > 0)
|
|
// {
|
|
// streams[i] = stream;
|
|
// i++;
|
|
// if (i >= stapelgroesse)
|
|
// {
|
|
// save_stapel(stapel, ref streams);
|
|
|
|
// i = 0;
|
|
// if (dv.Count - (stapel * stapelgroesse) >= stapelgroesse) { streams = new Stream[stapelgroesse]; }
|
|
// else
|
|
// {
|
|
// streams = new Stream[dv.Count - (stapel * stapelgroesse)];
|
|
// }
|
|
// //streams = new Stream[dv.Count - (stapel * stapelgroesse)];
|
|
// stapel++;
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// save_stapel(stapel, ref streams);
|
|
|
|
//}
|
|
//PdfDocumentBase.Merge(finalDoc, streams);
|
|
//FileStream fs = new FileStream(AppParams.tempdir+sb.serienbriefnr.ToString()+".pdf",FileMode.Create);
|
|
//finalDoc.Save(fs);
|
|
//finalDoc.Close();
|
|
//finalDoc.Dispose();
|
|
//fs.Close();
|
|
//fs.Dispose();
|
|
//for (i = 0; i < streams.Length; i++)
|
|
//{
|
|
// streams[i].Dispose();
|
|
//}
|
|
streams = null;
|
|
dv = null;
|
|
finish_progress();
|
|
}
|
|
|
|
private void save_stapel(int stapelnr, ref Stream[] streams)
|
|
{
|
|
try
|
|
{
|
|
PdfDocument finalDoc = new PdfDocument();
|
|
PdfDocumentBase.Merge(finalDoc, streams);
|
|
string filename = AppParams.tempdir + DateTime.Now.ToString("yyyyhhmmHHmmss") + "_" + stapelnr.ToString() + "_" + sb.serienbriefnr.ToString() + ".pdf";
|
|
FileStream fs = new FileStream(filename, FileMode.Create);
|
|
finalDoc.Save(fs);
|
|
finalDoc.Close();
|
|
finalDoc.Dispose();
|
|
fs.Close();
|
|
fs.Dispose();
|
|
TreeNodeAdv tn = new TreeNodeAdv();
|
|
tn.Text = "Druckstapel " + stapelnr.ToString() + " (" + streams.Length.ToString() + ")";
|
|
tn.Tag = stapelnr.ToString();
|
|
tn.TagObject = filename;
|
|
treeviewDruckstapel.Nodes.Add(tn);
|
|
for (int i = 0; i < streams.Length; i++)
|
|
{
|
|
streams[i].Close();
|
|
|
|
streams[i].Dispose();
|
|
streams[i] = null;
|
|
}
|
|
streams = null;
|
|
finalDoc = null;
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
private void ribbonButtonDruckstapel_Click(object sender, EventArgs e)
|
|
{
|
|
treeviewDruckstapel.Nodes.Clear();
|
|
merge();
|
|
try
|
|
{
|
|
treeviewDruckstapel.SelectedNode = treeviewDruckstapel.Nodes[0];
|
|
update_grid();
|
|
}
|
|
catch { }
|
|
grpDruckstapel.Visible = true;
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
System.Diagnostics.Process.Start(treeviewDruckstapel.SelectedNode.TagObject.ToString());
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
grpDruckstapel.Visible = false;
|
|
}
|
|
|
|
private void RibbonButtonArchivierenUndAbschlessen_CanvasChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void RibbonButtonArchivierenUndAbschlessen_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
|
|
DB db = new DB(AppParams.connectionstring);
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
|
|
init_progressbar("Dokumente archivieren", dv.Count);
|
|
dv.RowFilter = "Status = 1";
|
|
dv.Sort = "Partnernr";
|
|
foreach (DataRowView rowView in dv)
|
|
{
|
|
add_progress();
|
|
OnBaseDocUpload.OnBaseDokument onbasedoc = new OnBaseDocUpload.OnBaseDokument();
|
|
System.Data.DataRow dr = rowView.Row;
|
|
db.clear_parameter();
|
|
db.add_parameter("@serienbriefnr", sb.serienbriefnr.ToString());
|
|
db.add_parameter("@intEintragnr", dr["intEintragnr"].ToString());
|
|
db.add_parameter("@partnernr", dr["Partnernr"].ToString());
|
|
db.add_parameter("@dokumentid", dr["dokumentid"].ToString());
|
|
db.Get_Tabledata("sp_get_onbase_parameters_sb", true, false);
|
|
if (db.dsdaten.Tables[0].Rows[0]["BpNummer"].ToString() == "")
|
|
{
|
|
onbasedoc.personNummer = db.dsdaten.Tables[0].Rows[0]["PersonNummer"].ToString();
|
|
onbasedoc.bpNummer = "";
|
|
}
|
|
else
|
|
{
|
|
onbasedoc.bpNummer = db.dsdaten.Tables[0].Rows[0]["BpNummer"].ToString();
|
|
onbasedoc.personNummer = "";
|
|
}
|
|
onbasedoc.dokumentDatum = db.dsdaten.Tables[0].Rows[0]["DokumentDatum"].ToString();
|
|
onbasedoc.dokumentTyp = db.dsdaten.Tables[0].Rows[0]["dokumenttyp"].ToString();
|
|
onbasedoc.dateiTyp = db.dsdaten.Tables[0].Rows[0]["dateityp"].ToString();
|
|
|
|
onbasedoc.attributes = new List<Model.OnBaseDocUpload.attribute>();
|
|
foreach (System.Data.DataRow rw in db.dsdaten.Tables[1].Rows)
|
|
|
|
{
|
|
OnBaseDocUpload.attribute p = new OnBaseDocUpload.attribute(rw["fieldname"].ToString(), rw["fieldvalue"].ToString());
|
|
onbasedoc.attributes.Add(p);
|
|
}
|
|
db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where serienbriefnr=" + sb.serienbriefnr.ToString() + " and inteintragnr=" + dr["IntEintragNr"].ToString(), false, true);
|
|
onbasedoc.dokumentDatei = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
string URL = "";
|
|
string response = "";
|
|
|
|
string jsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(onbasedoc);
|
|
URL = AppParams.RESTURI + "api/ArchivSBDoc";
|
|
URL = URL + "?sbnr=" + sb.serienbriefnr.ToString();
|
|
URL = URL + "&intid=" + dr["inteintragnr"].ToString();
|
|
URL = URL + "&partnernr=" + dr["partnernr"].ToString();
|
|
URL = URL + "&dokumentid=" + dr["dokumentid"].ToString();
|
|
|
|
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(URL);
|
|
|
|
httpWebRequest.ContentType = "text/json";
|
|
httpWebRequest.Method = "POST";
|
|
httpWebRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey;
|
|
|
|
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
|
|
{
|
|
string json = jsonstring;
|
|
|
|
streamWriter.Write(json);
|
|
streamWriter.Flush();
|
|
}
|
|
|
|
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
|
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
|
{
|
|
var result = streamReader.ReadToEnd();
|
|
if (httpResponse.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
dr["STATUS"] = 2; ;
|
|
}
|
|
}
|
|
}
|
|
sb.status = 1;
|
|
sb.dsempfaenger.AcceptChanges();
|
|
update_serienbriefdaten(false);
|
|
update_zahlen();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
finish_progress();
|
|
}
|
|
|
|
}
|
|
|
|
private void ausListeLöschenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
sfDataGridEmpfaenger.AllowDeleting = true;
|
|
sfDataGridEmpfaenger.DeleteSelectedRecords();
|
|
sfDataGridEmpfaenger.AllowDeleting = false;
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
return;
|
|
}
|
|
|
|
private void erneutGenerierenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
System.Data.DataTable dt = sb.dsempfaenger.Tables[0];
|
|
var records = sfDataGridEmpfaenger.View.GetSelectedRecords();
|
|
|
|
if (records.Count < 1) { return; }
|
|
int[] inteintraege = new int[records.Count];
|
|
int i = 0;
|
|
foreach (var record in records)
|
|
{
|
|
var datarow = record as DataRowView;
|
|
string documentid = datarow["dokumentid"].ToString();
|
|
inteintraege[i] = Convert.ToInt32(datarow["inteintragnr"].ToString());
|
|
i = i + 1;
|
|
|
|
}
|
|
for (int i1 = 0; i1 < i; i1++)
|
|
{
|
|
System.Data.DataRow dr = sb.dsempfaenger.Tables[0].Select("inteintragnr='" + inteintraege[i1].ToString() + "'").FirstOrDefault(); // finds all rows with id==2 and selects first or null if haven't found any
|
|
if (dr != null)
|
|
{
|
|
dr["status"] = "0"; //changes the Product_name
|
|
}
|
|
}
|
|
|
|
refresh_empfaenger(sb.dsempfaenger.Tables[0]);
|
|
ribbonButtonToApproval.Enabled = false;
|
|
}
|
|
|
|
private void ribbonButton3_Click(object sender, EventArgs e)
|
|
{
|
|
if (MessageBox.Show("Serienbrief löschen?", "Serienbrief löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
DB dB = new DB(AppParams.connectionstring);
|
|
dB.Exec_SQL("Update edex_sb_serienbrief set aktiv=0, mutiert_am=getdate(),mutierer=" + AppParams.CurrentMitarbeiter.ToString() + " where serienbriefnr=" + sb.serienbriefnr.ToString());
|
|
dB = null;
|
|
|
|
enable_disable_functions(1, false);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void ctxmenutree_Opening(object sender, CancelEventArgs e)
|
|
{
|
|
partnerlistePrüfenToolStripMenuItem.Visible = false;
|
|
dokumentgenerierungZurücksetzenToolStripMenuItem.Visible = false;
|
|
druckstapelAufbereitenToolStripMenuItem.Visible = false;
|
|
archivierenUndAbschliessenToolStripMenuItem.Visible = false;
|
|
|
|
if (ribbonButtonPartnerPruefen.Enabled) partnerlistePrüfenToolStripMenuItem.Visible = true;
|
|
if (RibbonButtonArchivierenUndAbschlessen.Enabled) archivierenUndAbschliessenToolStripMenuItem.Visible = true;
|
|
if (ribbonButtonDruckstapel.Enabled) druckstapelAufbereitenToolStripMenuItem.Visible = true;
|
|
try
|
|
{
|
|
if (treeViewAdv1.SelectedNode.Text.Substring(0, 4) == "Gene") (dokumentgenerierungZurücksetzenToolStripMenuItem.Visible) = true;
|
|
}
|
|
catch { }
|
|
|
|
}
|
|
|
|
private void partnerlistePrüfenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
ribbonButton2_Click(sender, e);
|
|
}
|
|
|
|
private void dokumentgenerierungZurücksetzenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
sfDataGridEmpfaenger.SelectAll();
|
|
erneutGenerierenToolStripMenuItem_Click(sender, e);
|
|
ribbonButtonToApproval.Enabled= false;
|
|
}
|
|
|
|
private void druckstapelAufbereitenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
ribbonButtonDruckstapel_Click(sender, e);
|
|
}
|
|
|
|
private void archivierenUndAbschliessenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
RibbonButtonArchivierenUndAbschlessen_Click(sender, e);
|
|
}
|
|
|
|
private void cbboxzustaendigmitarbeiter_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
Refresh_Team(0);
|
|
}
|
|
|
|
private void ribbonbuttonsavetemplate_Click(object sender, EventArgs e)
|
|
{
|
|
string bez = "";
|
|
InputDialog id = new InputDialog("Name zum Speichern", "Name", "");
|
|
|
|
if (id.ShowDialog() == DialogResult.OK) {
|
|
bez = id.result;
|
|
}
|
|
id.Dispose();
|
|
if (bez !="") {
|
|
//InputBoxItem[] items = new InputBoxItem[] { new InputBoxItem("Bezeichnung") };
|
|
//InputBox input = InputBox.Show("Name für die Vorlage",items,InputBoxButtons.OKCancel);
|
|
//if (input.Result == InputBoxResult.OK) {
|
|
// string bez = input.Items["Bezeichnung"].ToString();
|
|
update_serienbriefdaten(false);
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select dbo.binarytobase64(vorlage),DocType from edex_sb_vorlage where serienbriefnr=" + sb.serienbriefnr.ToString(), false, true);
|
|
string file = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
string dokytype = db.dsdaten.Tables[0].Rows[0][1].ToString();
|
|
db.Get_Tabledata_for_Update("select top 1 * from ondoc_sb_vorlage where id=-1", false, true);
|
|
System.Data.DataRow dr = db.daten.Tables[0].NewRow();
|
|
dr[1] = AppParams.CurrentMitarbeiter;
|
|
dr[2] = file;
|
|
dr[3] = DateTime.Now;
|
|
dr[4] = DateTime.Now;
|
|
dr[5] = AppParams.CurrentMitarbeiter;
|
|
dr[6] = true;
|
|
dr[7] = dokytype;
|
|
dr[8] = bez;
|
|
db.daten.Tables[0].Rows.Add(dr);
|
|
db.Update_Data();
|
|
db = null;
|
|
}
|
|
|
|
}
|
|
|
|
private void ribbonbuttonloadtemplate_Click(object sender, EventArgs e)
|
|
{
|
|
SerienbriefTemplateLoad sbt = new SerienbriefTemplateLoad(AppParams.CurrentMitarbeiter.ToString());
|
|
sbt.ShowDialog();
|
|
if (
|
|
sbt.DialogResult == DialogResult.OK) {
|
|
sb.VorlageBase64 = sbt.file;
|
|
FileHelper fh = new FileHelper();
|
|
fh.SaveBase64ToFile(sbt.file, sb.filename);
|
|
fh = null;
|
|
|
|
update_serienbriefdaten(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void cbformularohneunterschrfit_Click(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void cbformularohneunterschrfit_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (cbformularohneunterschrfit.Checked)
|
|
{
|
|
cbboxunterschriftlinks.SelectedValue = -1;
|
|
cbboxunterschriftrechts.SelectedValue = -1;
|
|
cbboxunterschriftrechts.Enabled = false;
|
|
cbboxunterschriftlinks.Enabled = false;
|
|
cbdigitaleunterschrfiten.Checked = false;
|
|
cbdigitaleunterschrfiten.Enabled = false;
|
|
sb.approval1 = 0;
|
|
sb.approval2 = 0;
|
|
sb.toapproval = 0;
|
|
sb.approval2 = 0;
|
|
sb.faksimile = 0;
|
|
sb.ohneunterschrift = 1;
|
|
}
|
|
else {
|
|
cbboxunterschriftrechts.Enabled = true;
|
|
cbboxunterschriftlinks.Enabled = true;
|
|
cbdigitaleunterschrfiten.Enabled = true;
|
|
if (cbdigitaleunterschrfiten.Checked == false)
|
|
{
|
|
sb.toapproval = 0;
|
|
sb.approval2 = 0;
|
|
sb.approval1 = 0;
|
|
sb.approved = 0;
|
|
sb.faksimile = 0;
|
|
sb.ohneunterschrift = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void cbdigitaleunterschrfiten_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (sb.approved == 1) { return; }
|
|
if (cbdigitaleunterschrfiten.Checked)
|
|
{
|
|
cbboxunterschriftlinks.Enabled = true;
|
|
cbboxunterschriftrechts.Enabled = true;
|
|
cbformularohneunterschrfit.Checked = false;
|
|
cbformularohneunterschrfit.Enabled = false;
|
|
sb.toapproval = 1;
|
|
sb.approval2 = 0;
|
|
sb.approval1 = 0;
|
|
sb.approved = 0;
|
|
sb.faksimile = 1;
|
|
sb.ohneunterschrift = 0;
|
|
}
|
|
else
|
|
{
|
|
cbformularohneunterschrfit.Enabled = true;
|
|
if (cbformularohneunterschrfit.Checked == false)
|
|
{
|
|
sb.toapproval = 0;
|
|
sb.approval2 = 0;
|
|
sb.approval1 = 0;
|
|
sb.approved = 0;
|
|
sb.faksimile = 0;
|
|
sb.ohneunterschrift = 0;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ribbon1_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void ribbonButtonToApproval_Click(object sender, EventArgs e)
|
|
{
|
|
frmToApproval fa = new frmToApproval();
|
|
fa.serienbriefnr = sb.serienbriefnr.ToString();
|
|
fa.ShowDialog();
|
|
return;
|
|
}
|
|
|
|
private void ribbonbuttonGeprueft_Click(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
clsMailer mailer = new clsMailer();
|
|
string empfaengerid = "";
|
|
db.Get_Tabledata("Select mutierer from serienbrief_Bewilligung where id=" + approvaldata["id"].ToString(), false, true);
|
|
empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
|
|
string sql = "update serienbrief_bewilligung set bewilligt=1, bewilligt_am = '" + DateTime.Now.ToString() + "' where id=" + approvaldata["id"].ToString();
|
|
db.Exec_SQL(sql);
|
|
if (approvaldata["Bewilligungstyp"].ToString() == "2")
|
|
{
|
|
db.Exec_SQL("Update edex_sb_serienbrief set approval2=1 where serienbriefnr=" + sb.serienbriefnr.ToString() + "");
|
|
}
|
|
else
|
|
{
|
|
db.Exec_SQL("Update edex_sb_serienbrief set approval1=1 where serienbriefnr=" + sb.serienbriefnr.ToString() + "");
|
|
}
|
|
mailer.sendmail(4, empfaengerid, "", "","", "", AppParams.CurrentMitarbeiter.ToString(), approvaldata["id"].ToString());
|
|
mailer = null;
|
|
|
|
db = null;
|
|
Logging.DocLog.Info("Serienbrief geprüft", "Serienbrief geprüft", sb.serienbriefnr.ToString(), "", "");
|
|
Broadcaster().Broadcast("Serienbrief", new SenderInfo("Removesbfromlist", "Refreshpruefung", serienbriefnr.ToString()));
|
|
|
|
}
|
|
|
|
private void ribbonbuttonAbgelehnt_Click(object sender, EventArgs e)
|
|
{
|
|
frmNote note = new frmNote(sb.serienbriefnr.ToString(), "Ablehnen");
|
|
//DataRow dr = treeViewAdv1.SelectedNode.TagObject as DataRow;
|
|
|
|
if (note.ShowDialog() == DialogResult.OK)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
|
|
clsMailer mailer = new clsMailer();
|
|
string empfaengerid = "";
|
|
db.Get_Tabledata("Select mutierer from serienbrief_Bewilligung where id=" + approvaldata["id"].ToString(), false, true);
|
|
empfaengerid = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
|
|
|
|
string sql = "update serienbrief_bewilligung set abgelehnt=1, abgelehnt_am = '" + DateTime.Now.ToString() + "', betreff='"+note.betreff+"', notizgrund='"+note.notiz+"' where id=" + approvaldata["id"].ToString();
|
|
db.Exec_SQL(sql);
|
|
|
|
// treeViewAdv1.Nodes.Remove(treeViewAdv1.SelectedNode);
|
|
// TreeNodeAdv tp = treeViewAdv1.SelectedNode.Parent;
|
|
// treeViewAdv1.SelectedNode.Parent.Nodes.Remove(treeViewAdv1.SelectedNode);
|
|
if (approvaldata["Bewilligungstyp"].ToString() == "2")
|
|
{
|
|
db.Exec_SQL("Update edex_sb_serienbrief set approved=0, approval2=0 where serienbriefnr=" + sb.serienbriefnr.ToString());
|
|
}
|
|
else
|
|
{
|
|
db.Exec_SQL("Update edex_sb_serienbrief set approved=0, approval1=0 where serienbriefnr=" + sb.serienbriefnr.ToString());
|
|
}
|
|
mailer.sendmail(6, empfaengerid, "", "", sb.serienbriefnr.ToString(), "", AppParams.CurrentMitarbeiter.ToString(), approvaldata["id"].ToString());
|
|
mailer = null;
|
|
|
|
//if (tp.Nodes.Count < 1)
|
|
//{
|
|
// tp.Parent.Nodes.Remove(tp);
|
|
//}
|
|
db = null;
|
|
Logging.DocLog.Info("Serienbrief geprüft - abgelehnt", "Serienbriefprüfung", sb.serienbriefnr.ToString(), "", "");
|
|
Broadcaster().Broadcast("Serienbrief", new SenderInfo("Removesbfromlist", "Refreshpruefung", serienbriefnr.ToString()));
|
|
|
|
}
|
|
}
|
|
|
|
private void sfdatagridsbload_DrawCell(object sender, Syncfusion.WinForms.DataGrid.Events.DrawCellEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (e.Column.MappingName == "S")
|
|
{
|
|
try
|
|
{
|
|
e.Column.CellStyle.HorizontalAlignment = HorizontalAlignment.Center;
|
|
e.Handled = true;
|
|
var selectedItem = e.DataRow;
|
|
var dataRow = (e.DataRow.RowData as DataRowView).Row;
|
|
|
|
if (Convert.ToInt32(dataRow["S"]) == 0)
|
|
{
|
|
e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_ToApprove_24x24_32, e.Bounds.X + 20, e.Bounds.Y);
|
|
}
|
|
if (Convert.ToInt32(dataRow["S"]) == 1)
|
|
{
|
|
e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_approved_24x24_32, e.Bounds.X + 20, e.Bounds.Y);
|
|
}
|
|
if (Convert.ToInt32(dataRow["S"]) == 2)
|
|
{
|
|
e.Graphics.DrawImage(OnDoc.Properties.Resources.Word_24x24_32, e.Bounds.X + 20, e.Bounds.Y);
|
|
}
|
|
Pen borderPen = new Pen(Color.LightGray);
|
|
e.Graphics.DrawLine(borderPen, e.Bounds.Right, e.Bounds.Top, e.Bounds.Right, e.Bounds.Bottom);
|
|
e.Graphics.DrawLine(borderPen, e.Bounds.Left, e.Bounds.Bottom, e.Bounds.Right, e.Bounds.Bottom);
|
|
return;
|
|
|
|
}
|
|
catch { }
|
|
e.Handled = false;
|
|
}
|
|
}
|
|
catch { }
|
|
|
|
}
|
|
|
|
private void sfdatagridsbload_ToolTipOpening(object sender, Syncfusion.WinForms.DataGrid.Events.ToolTipOpeningEventArgs e)
|
|
{
|
|
switch (e.Column.MappingName.ToLower())
|
|
{
|
|
case "prüfung_rechts":
|
|
if (e.DisplayText.Contains("Abgelehnt"))
|
|
{
|
|
Syncfusion.Data.RecordEntry record = sfdatagridsbload.View.GetRecordAt(e.RowIndex - 1);
|
|
var a = record.Data;
|
|
var b = a as DataRowView;
|
|
string x = b["id"].ToString();
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("select top 1 betreff, notizgrund, mutiert_am from serienbrief_bewilligung where serienbriefnr='" + 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 = sfdatagridsbload.View.GetRecordAt(e.RowIndex - 1);
|
|
var a = record.Data;
|
|
var b = a as DataRowView;
|
|
string x = b["id"].ToString();
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("select top 1 betreff, notizgrund, mutiert_am from serienbrief_bewilligung where serienbriefnr='" + x + "' and bewilligungstyp=1 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;
|
|
|
|
}
|
|
}
|
|
|
|
private void DateDokumentDatum_DropDownOpening(object sender, CancelEventArgs e)
|
|
{
|
|
DateDokumentDatum.MonthCalendar.FirstDayOfWeek=DayOfWeek.Monday;
|
|
}
|
|
|
|
private void sfDataGridEmpfaenger_DrawCell(object sender, Syncfusion.WinForms.DataGrid.Events.DrawCellEventArgs e)
|
|
{
|
|
var selectedItem = e.DataRow;
|
|
var dataRow = (e.DataRow.RowData as DataRowView).Row;
|
|
if (e.Column.MappingName == "BLKUNDE")
|
|
{
|
|
if (dataRow["blkunde"].ToString() == "1")
|
|
{
|
|
|
|
e.Style.BackColor = Color.FromArgb(250, 141, 118);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
if (e.Column.MappingName == "Kurzbezeichnung")
|
|
{
|
|
if (dataRow["kurzbezeichnung"].ToString().Contains("SALDIERT:"))
|
|
{
|
|
e.Style.BackColor = Color.FromArgb(250, 141, 118);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnblexport_Click(object sender, EventArgs e)
|
|
{
|
|
folderBrowserDialog1.ShowNewFolderButton = true;
|
|
folderBrowserDialog1.SelectedPath=AppParams.tempdir;
|
|
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
FileHelper fh = new FileHelper();
|
|
DataView dv = new DataView(sb.dsempfaenger.Tables[0]);
|
|
foreach (DataRowView rowView in dv)
|
|
{
|
|
|
|
System.Data.DataRow dr = rowView.Row;
|
|
if (dr["blkunde"].ToString() == "1")
|
|
{
|
|
|
|
db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where dokumentid='" + dr["Dokumentid"].ToString() + "'", false, true);
|
|
string filename = dr[0].ToString() + "_" + dr["dokumentid"].ToString() + ".pdf";
|
|
fh.SaveBase64ToFile(db.dsdaten.Tables[0].Rows[0][0].ToString(),folderBrowserDialog1.SelectedPath+@"\"+filename );
|
|
}
|
|
}
|
|
|
|
db = null;
|
|
fh = null;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
}
|