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.

1574 lines
64 KiB

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.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Syncfusion.WinForms.Controls;
using Syncfusion.Windows.Forms.Utils;
using OnDoc.Klassen;
using Syncfusion.Windows.Forms;
using Model;
using OnDoc.DocMgmt;
using System.Xml.Linq;
using Versandstrasse;
using System.IO;
using Syncfusion.Pdf;
using Database;
using System.Net;
using Newtonsoft.Json;
using Windows.Media.Capture;
using Syncfusion.Olap.MDXQueryParser;
using Windows.Media.Streaming.Adaptive;
using System.Data.SqlTypes;
using NLog.LayoutRenderers.Wrappers;
using System.Security.Cryptography;
using Microsoft.SqlServer.Server;
using System.Windows.Interop;
namespace OnDoc.Versandstrasse
{
public partial class Versandstrasse : SfForm
{
private List<Versandpaket> pakete = new List<Versandpaket>();
private TreeViewAdvDragHighlightTracker treeViewDragHighlightTracker = null;
private TreeNodeAdv currentSourceNode;
private bool serienbrief = false;
public serienbrief sb;
private bool direktversenden = false;
public Versandstrasse(List<Versandpaket> pakete)
{
InitializeComponent();
this.treeViewAdv1.AutoScrolling = ScrollBars.Both;
this.Style.TitleBar.BackColor = Theaming.Titelbar();
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
this.Style.ShadowOpacity = Theaming.ShadowOpacity;
this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity;
this.treeViewDragHighlightTracker = new TreeViewAdvDragHighlightTracker(this.treeViewAdv1);
this.treeViewDragHighlightTracker.QueryAllowedPositionsForNode +=
new QueryAllowedPositionsEventHandler(this.TreeDragDrop_QueryAllowedPositionsForNode);
this.treeViewDragHighlightTracker.QueryDragInsertInfo +=
new QueryDragInsertInfoEventHandler(treeViewDragHighlightTracker_QueryDragInsertInfo);
if (pakete.Count > 0)
{
this.pakete = pakete;
this.serienbrief = pakete[0].isSerienbrief;
if (serienbrief)
{
this.ribbonButtonNewCouvert.Enabled = false;
this.ribbonTab2.Enabled = false;
this.sb = pakete[0].sb;
this.btnPrepare.Text = "Versand prüfen";
}
else
{
ribbonButtonNewCouvert.Enabled = true;
}
}
}
private void load_adressen()
{
bool hasprivateaddresses = false;
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from Antwortadresse_mitarbeiter where mitarbeiternr = "+AppParams.CurrentMitarbeiter.ToString()+" order by reihenfolge", false, true);
if (db.dsdaten.Tables[0].Rows.Count > 0)
{
hasprivateaddresses = true;
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
TreeNodeAdv node = new TreeNodeAdv();
node.Text = dr["bezeichnung"].ToString();
node.Tag = dr["einzeilig"].ToString();
node.TagObject = dr;
treeViewAdvAdresse.Nodes.Add(node);
node.TextColor = Color.Blue;
}
//TreeNodeAdv stdnode = new TreeNodeAdv();
//stdnode.Text = "Standard-Adressen";
//treeViewAdvAdresse.Nodes.Add(stdnode);
//treeViewAdvAdresse.SelectedNode = stdnode;
}
db.Get_Tabledata("Select * from Antwortadresse order by bezeichnung", false, true);
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
TreeNodeAdv node = new TreeNodeAdv();
node.Text = dr["bezeichnung"].ToString();
node.Tag = dr["einzeilig"].ToString();
node.TagObject = dr;
//node.TextColor = Color.Gray;
//if (hasprivateaddresses) { treeViewAdvAdresse.SelectedNode.Nodes.Add(node); } else { treeViewAdvAdresse.Nodes.Add(node); }
treeViewAdvAdresse.Nodes.Add(node);
}
//treeViewAdvAdresse.SelectedNode = 0;
treeViewAdvAdresse.Enabled = false;
db = null;
}
private void Versandstrasse_Load(object sender, EventArgs e)
{
Reload_Tree();
load_adressen();
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from OnDoc_Versandstrasse_Texte order by id", false, true);
lblprueftext.Text = db.dsdaten.Tables[0].Rows[0]["textblock"].ToString();
lblprueftextSB.Text = db.dsdaten.Tables[0].Rows[1]["textblock"].ToString();
lblprueftextsb2.Text = db.dsdaten.Tables[0].Rows[2]["textblock"].ToString();
lblpostausgang.Text = db.dsdaten.Tables[0].Rows[3]["textblock"].ToString();
lblserienbrief.Text = db.dsdaten.Tables[0].Rows[4]["textblock"].ToString();
lblpostausgang.MaximumSize = new Size(500, 60);
db = null;
if (treeViewAdv1.Nodes.Count > 0)
{
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0];
this.pnlcouvert.Visible = true;
this.pnlpostkorb.Visible = false;
this.pnlpostkorb.Dock = DockStyle.Fill;
this.pnlcouvert.Dock = DockStyle.Fill;
if (!serienbrief)
{
lblpostausgang.Visible = true;
this.lblpostausgang.Left = this.Width - lblpostausgang.Width;
}
else
{
lblserienbrief.Visible = true;
this.lblserienbrief.Left = this.Width - lblserienbrief.Width;
}
}
else
{
this.lblpostausgang.Visible = true;
this.lblpostausgang.Left = this.Width - lblpostausgang.Width;
this.pnlcouvert.Visible = false;
this.pnlpostkorb.Visible = true;
this.pnlpostkorb.Dock = DockStyle.Fill;
Refresh_VersandCouverts();
ribbon1.Select();
ribbon1_Click(sender, e);
ribbon1.Tabs[0].Visible = true;
ribbonTab2_ActiveChanged(sender, e);
this.lblpostausgang.Left = this.Width - lblpostausgang.Width;
}
panelPrepare.Left = this.Width - this.panelPrepare.Width;
lblprueftext.MaximumSize = new Size(panelVerify.Width-10, 50);
lblprueftextSB.MaximumSize = new Size(panelVerify.Width-10, 50);
lblprueftextsb2.MaximumSize = new Size(panelVerify.Width-10, 50);
//lblprueftext.Text = "Prüfe die Angaben und das PDF. Mit Klick auf «Couvert in Postausgang legen» wird das Couvert im Postausgang bereitgelegt. Der Versand vom Postausgang erfolgt um 15.45 Uhr. Bis 15.45 Uhr kann das Couvert noch geöffnet/bearbeitet oder gelöscht werden.";
//lblprueftextSB.MaximumSize = new Size(panelVerify.Width, 50);
//lblprueftextSB.Text = "Prüfe die Angaben und das PDF. Mit Klick auf «Couvert in Postausgang legen» wird das Couvert im Postausgang bereitgelegt. Der Versand vom Postausgang erfolgt um 15.45 Uhr. Bis 15.45 Uhr kann das Couvert noch geöffnet/bearbeitet oder gelöscht werden.";
}
private void Reload_Tree()
{
if (serienbrief)
{
TreeNodeAdv DruckJobSB;
DruckJobSB = new TreeNodeAdv();
DruckJobSB.Text = "Serienbrief";
DruckJobSB.Tag = "Druckpaket";
DruckJobSB.TagObject = pakete[0];
treeViewAdv1.Nodes.Add(DruckJobSB);
populate_serienbriefe();
treeViewAdv1.ExpandAll();
return;
}
treeViewAdv1.Nodes.Clear();
TreeNodeAdv DruckJob;
DB db = new DB(AppParams.connectionstring);
for (int i = 0; i < pakete.Count; i++)
{
db.Get_Tabledata("Select nrpar00, bkpar00 from partner where nrpar00=" + pakete[i].partnernr.ToString(), false, true);
DruckJob = new TreeNodeAdv();
DruckJob.Text = "Versand-Couvert - " + db.dsdaten.Tables[0].Rows[0][0].ToString()+ ", " + db.dsdaten.Tables[0].Rows[0][1].ToString();
DruckJob.Tag = "Druckpaket";
//pakete[i].partnernr = i;
DruckJob.TagObject = pakete[i];
set_nodeimage(DruckJob, 0);
treeViewAdv1.Nodes.Add(DruckJob);
PopulateDocs(pakete[i], ref DruckJob);
}
//db.Get_Tabledata("Select * from [applikation] where applikationsnr = 1", false, true);
//if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["Showlogin"]) == true) { button3.Visible = true; } else { button3.Visible = false; }
db = null;
treeViewAdv1.ExpandAll();
foreach (TreeNodeAdv node in treeViewAdv1.Nodes)
{
if (node.Level == 1) { Verify_Couvert(node); }
}
try
{
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0];
}
catch { }
}
private void set_nodeimage(TreeNodeAdv node, int img)
{
node.LeftImageIndices = null;
node.LeftImageIndices = new int[] { img };
}
private void Verify_Couverts()
{
foreach (TreeNodeAdv node in treeViewAdv1.Nodes)
{
if (node.Level == 1) { Verify_Couvert(node); }
}
}
string errormessage = "";
System.Data.DataTable errormessages = new System.Data.DataTable();
public class errormsg
{
public int number = 0;
public string message = "";
public errormsg(int nr, string message)
{
this.number = nr;
this.message = message;
}
}
List<errormsg> errors = new List<errormsg>();
private void add_errormessage(int nr, string message)
{
bool found = false;
foreach (errormsg ermsg in errors) {
if (ermsg.number == nr) { found = true; break; }
}
if (!found)
{
errors.Add(new errormsg(nr, message));
}
}
private bool Verify_Couvert(TreeNodeAdv node)
{
errors.Clear();
errormessage = "";
lblerror.Visible = false;
Versandpaket vp = node.TagObject as Versandpaket;
if (vp.isSerienbrief)
{
DB db1 = new DB(AppParams.connectionstring);
db1.Get_Tabledata("Select isnull(versandstrasse_moeglich,0), isnull(versandstrasse_firstdoc,0) from dokumenttyp where dokumenttypnr=" + sb.dokumenttypnr.ToString(), false, true);
if (Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][0]) == 0 || Convert.ToInt32(db1.dsdaten.Tables[0].Rows[0][1]) == 0)
{
richTextBox1.Clear();
richTextBox1.BulletIndent = 20;
richTextBox1.SelectionBullet = true;
richTextBox1.SelectedText = "Der Serienbrief kann nicht über die Versandstrasse geschickt werden.";
this.btnPrepare.Enabled = false;
set_nodeimage(node, 0);
db1 = null;
return false;
}
db1 = null;
set_nodeimage(node, 1);
return true;
}
DB db = new DB(AppParams.connectionstring);
if (node.Nodes.Count > 0)
{
Versanddokument vd = node.Nodes[0].TagObject as Versanddokument;
if (vd.Partnernr.ToString() != vp.partnernr.ToString())
{
db.Get_Tabledata("SELECT dbo.Partner.NRPAR00, dbo.Partner.BKPAR00 FROM partner where nrpar00="+vd.Partnernr, false, true);
node.Text = "Versand-Couvert" + " - " + db.dsdaten.Tables[0].Rows[0][0].ToString() + " " + db.dsdaten.Tables[0].Rows[0][1].ToString();
vp.partnernr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
}
}
if (vp.partnernr == 0 && node.Nodes.Count==1)
{
TreeNodeAdv tn = node.Nodes[0];
db.Get_Tabledata("SELECT dbo.Partner.NRPAR00, dbo.Partner.BKPAR00 FROM dbo.dokument INNER JOIN dbo.Partner ON dbo.dokument.nrpar00 = dbo.Partner.NRPAR00 WHERE dbo.dokument.dokumentid='" + tn.Tag + "'", false, true);
node.Text = node.Text + " - " + db.dsdaten.Tables[0].Rows[0][0].ToString() + " " + db.dsdaten.Tables[0].Rows[0][1].ToString();
vp.partnernr = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
}
if (chkGAS.Checked && txtadresse.Text == "")
{
add_errormessage(7, "Für das Rückantwortcouvert wurde keine Adresse gewählt.");
return false;
}
int currentbp = vp.partnernr;
//node.LeftImageIndices = new int[] { 0 };
int nodecounter = 0;
int anzbp = 1;
bool versandbereit = true;
if (vp.partnernr > 99999999) {
versandbereit = false;
add_errormessage(6,"Im Versand-Couvert liegen ausschliesslich Personen-Dokumente. Der Versand braucht technisch ein BP-Dokument.");
}
string kdenummern = "";
foreach (TreeNodeAdv dokumentnode in node.Nodes)
{
Versanddokument vd = dokumentnode.TagObject as Versanddokument;
if (kdenummern != "") { kdenummern = kdenummern + ";"; }
kdenummern = kdenummern + vd.Partnernr.ToString();
}
if (kdenummern != "")
{
db.clear_parameter();
db.add_parameter("@kundennummer",kdenummern);
db.Get_Tabledata("ondoc_versandstrasse_check_kdenr", true, false);
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0])!=0) {
versandbereit = false;
add_errormessage(Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0].ToString()), db.dsdaten.Tables[0].Rows[0][1].ToString());
}
}
foreach (TreeNodeAdv dokumentnode in node.Nodes)
{
//node.LeftImageIndices = new int[] { 0 };
db.Get_Tabledata("SELECT dbo.dokument.nrpar00, dbo.dokument.dokumentid, isnull(dbo.dokumenttyp.Versandstrasse_moeglich,0) as vsm, isnull(dbo.dokumenttyp.versandstrasse_firstdoc,0) as firstdoc FROM dbo.dokument INNER JOIN " +
" dbo.dokumenttyp ON dbo.dokument.dokumenttypnr = dbo.dokumenttyp.dokumenttypnr where dbo.dokument.dokumentid='" + dokumentnode.Tag + "'", false, true);
//BP-Verifikation
//if (currentbp != Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["nrpar00"]))
//{
// currentbp = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["nrpar00"]);
// anzbp = anzbp + 1;
//}
//Versandstrasse möglich
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["vsm"]) == 0)
{
set_nodeimage(dokumentnode, 0);
add_errormessage(4,"Im Versand-Couvert liegt ein Dokument, welches nicht via Versandstrasse verschickt werden kann");
versandbereit = false;
}
else
{
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["firstdoc"]) == 0)
{
if (nodecounter == 0) { set_nodeimage(dokumentnode, 4);versandbereit = false; add_errormessage(2,"Im Versand-Couvert liegt an erster Position ein Dokument, welches nicht als vorderstes Dokument tauglich ist"); }
else
{
set_nodeimage(dokumentnode, 5);
}
db.Get_Tabledata("Select unterschriftlinks, unterschriftrechts, signiert from dokument where dokumentid='" + dokumentnode.Tag + "'", false, true);
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) != 0 || Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]) != 0){
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][2]) == 0)
{
set_nodeimage(dokumentnode, 4);
versandbereit = false;
add_errormessage(7, "Im Versand-Couvert sind Dokumente mit fehlender faksimiler Unterschrift");
}
}
}
else
{
db.Get_Tabledata("Select isnull(unterschriftlinks,0), isnull(unterschriftrechts,0), signiert from dokument where dokumentid='"+dokumentnode.Tag + "'", false, true);
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) >1 || Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]) >1 ){
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][2]) == 0){
set_nodeimage(dokumentnode, 2);
versandbereit = false;
add_errormessage(7, "Im Versand-Couvert sind Dokumente mit fehlender faksimiler Unterschrift");
}
}
}
}
if (node.Nodes.Count == 0)
{
add_errormessage(1, "Im Versand-Couvert liegen keine Dokumente");
versandbereit = false;
}
nodecounter++;
}
if (node.Nodes.Count < 1) { versandbereit = false;add_errormessage(1, "Im Versand-Couvert liegen keine Dokumente"); }
if (anzbp > 1) { versandbereit = false; }
if (versandbereit == true)
{
lblerror.Visible = false;
set_nodeimage(node, 1);
return true;
}
else
{
if (errors.Count > 0)
{
richTextBox1.Clear();
richTextBox1.BulletIndent = 20;
richTextBox1.SelectionBullet = true;
//errors.Sort();
errors.Sort((s1, s2) => s1.number.CompareTo(s2.number));
errormessage = "";
foreach (errormsg emsg in errors)
{
if (!errormessage.Contains(emsg.message))
{
//if (errormessage != "") { errormessage = errormessage + Environment.NewLine; }
errormessage = errormessage + emsg.message+"\n";
}
}
richTextBox1.SelectedText = errormessage.Substring(0,errormessage.Length-1);
}
lblerror.Visible = true;
lblerror.Text = errormessage;
set_nodeimage(node, 0);
return false;
}
}
private void populate_serienbriefe()
{
foreach (Versanddokument vd in pakete[0].Dokument)
{
TreeNodeAdv tn = new TreeNodeAdv();
tn.Text = vd.Bezeichnung+" ("+vd.DokumentID+")";
tn.Tag = vd.dokument;
set_nodeimage(tn, 3);
treeViewAdv1.Nodes[0].Nodes.Add(tn);
}
}
private void PopulateDocs(Versandpaket paket, ref TreeNodeAdv parentnode)
{
DB db = new DB(AppParams.connectionstring);
TreeNodeAdv dokumentnode;
for (int i = 0; i < paket.Dokument.Count; i++)
{
dokumentnode = new TreeNodeAdv();
dokumentnode.Text = paket.Dokument[i].Bezeichnung + " (" + paket.Dokument[i].Partnernr + ")";
dokumentnode.Tag = paket.Dokument[i].DokumentID;
dokumentnode.TagObject = paket.Dokument[i];
reserve_vs_dokument(dokumentnode.Tag.ToString(), 3);
db.Get_Tabledata("SELECT dbo.dokument.dokumentid, isnull(dbo.dokumenttyp.Versandstrasse_moeglich,0) as vsm, isnull(dbo.dokumenttyp.versandstrasse_firstdoc,0) as firstdoc FROM dbo.dokument INNER JOIN " +
" dbo.dokumenttyp ON dbo.dokument.dokumenttypnr = dbo.dokumenttyp.dokumenttypnr where dbo.dokument.dokumentid='" + dokumentnode.Tag + "'", false, true);
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["firstdoc"]) == 0)
{
set_nodeimage(dokumentnode, 5);
}
else
{
set_nodeimage(dokumentnode, 3);
}
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["vsm"]) == 0)
{
set_nodeimage(dokumentnode, 0);
}
else
{
//dokumentnode.LeftImageIndices = new int[] { 3};
}
parentnode.Nodes.Add(dokumentnode);
}
}
#region "Treeview"
private void treeViewAdv1_DragDrop(object sender, DragEventArgs e)
{
try
{
TreeViewAdv treeView = sender as TreeViewAdv;
TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv));
TreeNodeAdv destinationNode = this.treeViewDragHighlightTracker.HighlightNode;
TreeViewDropPositions dropPosition = this.treeViewDragHighlightTracker.DropPosition;
this.treeViewDragHighlightTracker.ClearHighlightNode();
this.currentSourceNode = null;
if (sourceNode.Level == 0) {
return;
}
if (destinationNode != null)
{
switch (dropPosition)
{
case TreeViewDropPositions.AboveNode:
sourceNode.Move(destinationNode, NodePositions.Previous);
break;
case TreeViewDropPositions.BelowNode:
sourceNode.Move(destinationNode, NodePositions.Next);
break;
case TreeViewDropPositions.OnNode:
Versandpaket sourcepaket = sourceNode.Parent.TagObject as Versandpaket;
TreeNodeAdv savenode = sourceNode.Parent;
sourceNode.Move(destinationNode.Nodes);
//Versanddokument dem neuen Versandpaket zuordnen
Versandpaket paket = destinationNode.TagObject as Versandpaket;
Versanddokument vd = sourceNode.TagObject as Versanddokument;
paket.Dokument.Add(vd);
destinationNode.TagObject = paket;
foreach (Versanddokument vd1 in sourcepaket.Dokument)
{
if (vd1.DokumentID == vd.DokumentID)
{
sourcepaket.Dokument.Remove(vd1);
break;
}
}
savenode.TagObject = sourcepaket;
destinationNode.Expand();
break;
}
}
treeView.SelectedNode = sourceNode;
Verify_Couverts();
}
catch { }
}
private void treeViewAdv1_DragLeave(object sender, EventArgs e)
{
this.treeViewDragHighlightTracker.ClearHighlightNode();
}
private void treeViewAdv1_DragOver(object sender, DragEventArgs e)
{
bool droppable = true;
TreeNodeAdv destinationNode = null;
TreeViewAdv treeView = sender as TreeViewAdv;
Point ptInTree = treeView.PointToClient(new Point(e.X, e.Y));
this.currentSourceNode = null;
if (e.Data.GetDataPresent(typeof(TreeNodeAdv)))
{
destinationNode = treeView.GetNodeAtPoint(ptInTree);
TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv));
this.currentSourceNode = sourceNode;
droppable = this.CanDrop(sourceNode, destinationNode);
//if (droppable == true) { if (destinationNode.Tag.ToString() != "Druckpaket") { droppable = false; } }
}
else
droppable = false;
if (droppable)
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None;
this.treeViewDragHighlightTracker.SetHighlightNode(destinationNode, ptInTree);
}
private bool CanDrop(TreeNodeAdv sourceNode, TreeNodeAdv destinationNode)
{
TreeNodeAdv xdestinationNode = this.treeViewDragHighlightTracker.HighlightNode;
TreeViewDropPositions dropPosition = this.treeViewDragHighlightTracker.DropPosition;
if (sourceNode.Level==1) { return false; }
if (destinationNode == null || destinationNode == sourceNode)
return false;
else
{
try
{
if (xdestinationNode.Level == 1 && dropPosition != TreeViewDropPositions.OnNode)
{
return false;
}
if (xdestinationNode.Level == 2) { return true; }
}
catch { }
return true;
}
}
private void treeViewAdv1_ItemDrag(object sender, ItemDragEventArgs e)
{
TreeViewAdv treeViewAdv = sender as TreeViewAdv;
TreeNodeAdv[] nodes = e.Item as TreeNodeAdv[];
TreeNodeAdv node = nodes[0];
{
DragDropEffects result = treeViewAdv.DoDragDrop(node, DragDropEffects.Move);
}
}
private bool IsDruckPaket(TreeNodeAdv node)
{
int i = -1;
bool numeric = int.TryParse(node.Tag.ToString(), out i);
if (node.Tag.ToString() == "Druckpaket") { return true; } else { return false; }
}
private void treeViewDragHighlightTracker_QueryDragInsertInfo(object sender, QueryDragInsertInfoEventArgs args)
{
args.DragInsertColor = Color.Red;
}
private void TreeDragDrop_QueryAllowedPositionsForNode(object sender, QueryAllowedPositionsEventArgs e)
{
if (!this.IsDruckPaket(e.HighlightNode))
{
if (e.HighlightNode != this.currentSourceNode)
e.AllowedPositions = TreeViewDropPositions.AboveNode | TreeViewDropPositions.BelowNode;
else
e.AllowedPositions = TreeViewDropPositions.None;
this.treeViewDragHighlightTracker.EdgeSensitivityOnTop = e.HighlightNode.Bounds.Height / 2;
e.ShowSelectionHighlight = false;
}
else
{
this.treeViewDragHighlightTracker.EdgeSensitivityOnTop = e.HighlightNode.Bounds.Height / 4;
e.ShowSelectionHighlight = false;
}
}
#endregion
private void tsbtnDruckPaketNew_Click(object sender, EventArgs e)
{
Versandpaket newpaket = new Versandpaket();
newpaket.PaketNr = (treeViewAdv1.Nodes.Count + 1).ToString();
newpaket.Versandoption = "B2_POST";
newpaket.GAS = "";
newpaket.GASAdresse = "";
newpaket.Mitteilung = "";
newpaket.Dokument = new List<Versanddokument>();
string NodeText = "Versand-Couvert " + (treeViewAdv1.Nodes.Count + 1).ToString();
TreeNodeAdv drucknode = new TreeNodeAdv();
drucknode.Text = NodeText;
drucknode.Tag = "Druckpaket";
drucknode.TagObject = newpaket;
pakete.Add(newpaket);
treeViewAdv1.Nodes.Add(drucknode);
}
private void treeViewAdv1_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
//if (rbversandoption1.Checked) { paket.Versandoption = "1"; }
//if (rbversandoption2.Checked) { paket.Versandoption = "2"; }
//if (rbversandoption3.Checked) { paket.Versandoption = "3"; }
//if (chkGAS.Checked) { paket.GAS = "1"; } else { paket.GAS = "0"; }
//try { paket.GASAdresse = lbgasadresse.SelectedIndex.ToString(); } catch { paket.GASAdresse= "0"; }
// paket.verified = true;
//treeViewAdv1.SelectedNode.TagObject = paket;
//pakete.paket.Add(paket);
// Reload_Tree();
}
private void btnSend_Click(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
if (rbapost.Checked) { txtVersandoption.Text = "A_POST"; }
if (rbb1post.Checked) { txtVersandoption.Text = "B1_POST"; }
if (rbb2post.Checked) { txtVersandoption.Text = "B2_POST"; }
this.txtRückantwort.Text = txtadresse.Text.ToString();
this.txtRückantwortSB.Text = txtRückantwort.Text;
this.txtversandartsb.Text = txtVersandoption.Text;
if (serienbrief)
{
clsVersandstrasse vs = new clsVersandstrasse();
foreach (TreeNodeAdv tn in treeViewAdv1.Nodes[0].Nodes)
{
tn.TagObject = vs.Prepare_PDF(tn.Text.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath, null, sb, tn.Tag.ToString());
}
vs = null;
panelVerify.Visible = false;
panelverifysb.Visible = true;
btnsendserienbrief.Visible = true;
btnSendFinal.Visible = false;
this.txtAnzahlDokumetneSB.Text = treeViewAdv1.Nodes[0].Nodes.Count.ToString();
return;
}
panelPrepare.Visible = true;
panelPrepare.Left = (this.Width - panelPrepare.Width) / 2;
panelverifysb.Visible = false;
btnsendserienbrief.Visible = false;
btnSendFinal.Visible = true;
Application.DoEvents();
Cursor = Cursors.WaitCursor;
try
{
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
foreach (TreeNodeAdv tn in treeViewAdv1.SelectedNode.Nodes)
{
foreach (Versanddokument vsdok in paket.Dokument)
{
if (vsdok.DokumentID == tn.Tag.ToString())
{
clsVersandstrasse vs = new clsVersandstrasse();
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath);
}
}
}
//foreach (Versanddokument vsdok in paket.Dokument)
//{
// clsVersandstrasse vs = new clsVersandstrasse();
// vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring,AppParams.RESTURI,AppParams.apikey, Application.StartupPath);
// //string dok = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
//}
treeViewAdv1.SelectedNode.TagObject = paket;
Stream[] streams = new Stream[paket.Dokument.Count];
int i = 0;
foreach (TreeNodeAdv tn in treeViewAdv1.SelectedNode.Nodes)
{
foreach (Versanddokument vsdok in paket.Dokument)
{
if (vsdok.DokumentID == tn.Tag.ToString())
{
var stream = new MemoryStream(Convert.FromBase64String(vsdok.dokument));
streams[i] = stream;
i++;
}
}
}
//foreach (Versanddokument vsdok in paket.Dokument)
//{
// var stream = new MemoryStream(Convert.FromBase64String(vsdok.dokument));
// streams[i] = stream;
// i++;
//}
string stapel = save_stapel(ref streams);
paket.finaldoc = stapel;
var finalestream = new MemoryStream(Convert.FromBase64String(stapel));
this.pdfViewerControl1.Load(finalestream);
for (int i1 = 0; i1 < streams.Length; i1++)
{
streams[i1].Close();
streams[i1].Dispose();
streams[i1] = null;
}
streams = null;
treeViewAdv1.SelectedNode.TagObject = paket;
panelVerify.Visible = true;
this.txtAnzahlSeiten.Text = pdfViewerControl1.PageCount.ToString();
this.txtAnzahlDokumente.Text = paket.Dokument.Count().ToString();
lblprieveiwbezeichnung.Text = "Aufbereitetes PDF";
}
catch (Exception ex) { MessageBox.Show(ex.Message);
}
panelPrepare.Visible = false;
Cursor = Cursors.Default;
Application.DoEvents();
}
private string save_stapel(ref Stream[] streams)
{
try
{
PdfDocument finalDoc = new PdfDocument();
PdfDocumentBase.Merge(finalDoc, streams);
MemoryStream outputStream = new MemoryStream();
finalDoc.Save(outputStream);
byte[] bytes;
bytes = outputStream.ToArray();
return Convert.ToBase64String(bytes);
}
catch { return ""; }
}
private void chkGAS_CheckedChanged(object sender, EventArgs e)
{
this.panelVerify.Visible = false;
this.panelverifysb.Visible = false;
if (chkGAS.Checked)
{
treeViewAdvAdresse.Enabled = true;
treeViewAdvAdresse.SelectedNode = treeViewAdvAdresse.Nodes[0];
treeViewAdvAdresse_AfterSelect(sender, e);
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.GAS = "1";
treeViewAdv1.SelectedNode.TagObject = vp;
}
else
{
this.txtadresse.Text = "";
treeViewAdvAdresse.Enabled = false;
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.GAS = "";
treeViewAdv1.SelectedNode.TagObject = vp;
}
}
private void button3_Click(object sender, EventArgs e)
{
direktversenden = true;
btnSendFinal_Click(sender, e);
direktversenden = false;
this.panelVerify.Visible = false;
}
private void btnSendFinal_Click(object sender, EventArgs e)
{
if (serienbrief)
{
Versandpaket svp = treeViewAdv1.Nodes[0].TagObject as Versandpaket;
foreach (TreeNodeAdv node in treeViewAdv1.Nodes[0].Nodes)
{
svp.finaldoc = node.TagObject.ToString();
svp.send_onbase_doc = true;
string dokumentid = node.Text.Substring(node.Text.Length-23, 22);
string _sqlWhere = @"dokumentid = '" + dokumentid + "'";
DataTable _newDataTable = sb.dsempfaenger.Tables[0].Select(_sqlWhere, "").CopyToDataTable();
svp.partnernr = Convert.ToInt32(_newDataTable.Rows[0]["partnernr"].ToString());
Versanddokument vd = new Versanddokument(dokumentid, "", svp.partnernr.ToString());
vd.dokument = node.TagObject.ToString();
vd.inteintragnr = Convert.ToInt32(_newDataTable.Rows[0]["inteintragnr"].ToString());
svp.bemerkung = vd.DokumentID +" / " + sb.serienbriefnr.ToString() + "_" + _newDataTable.Rows[0]["inteintragnr"].ToString();
svp.Dokument.Clear();
svp.Dokument.Add(vd);
DB db = new DB(AppParams.connectionstring);
//db.clear_parameter();
//db.add_parameter("@tgnummer", AppParams.currenttgnummer);
//db.add_parameter("@partnernr", svp.partnernr.ToString());
//db.add_parameter("@gasadresse", svp.GASAdresse);
//db.add_parameter("@versandoption", svp.Versandoption);
//db.add_parameter("@dokumente", node.Text + " / " + sb.serienbriefnr.ToString() + "_" + _newDataTable.Rows[0]["inteintragnr"].ToString());
//db.Get_Tabledata("Ondoc_Insert_Versandprotokoll", true, false);
//svp.protokollid = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
db = null;
this.progressBarAdv1.Value = this.progressBarAdv1.Value + 1;
send_vs(ref svp, false);
}
sb.status = 1;
pdfViewerControl1.Unload();
lblprieveiwbezeichnung.Text = "";
this.Close();
return;
}
panelVerify.Visible = false;
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
List<Versanddokument> vdl = new List<Versanddokument>();
foreach (TreeNodeAdv node in treeViewAdv1.SelectedNode.Nodes)
{
foreach(Versanddokument vdok in vp.Dokument)
{
if (node.Tag == vdok.DokumentID) { vdl.Add(vdok); }
}
}
vp.Dokument = vdl;
vp.verified = true;
treeViewAdv1.SelectedNode.TagObject = vp;
panelVerify.Visible = false;
pakete.Remove(vp);
SendTo_Versandstrasse();
pdfViewerControl1.Unload();
lblprieveiwbezeichnung.Text = "";
vdl = null;
vp = null;
}
private void SendTo_Versandstrasse()
{
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
vp.send_onbase_doc = true;
DB db = new DB(AppParams.connectionstring);
string dokumente = "";
if (vp.Dokument.Count > 1) { vp.send_onbase_doc = false; }
else {
foreach (Versanddokument vd in vp.Dokument)
{
dokumente = dokumente + vd.DokumentID + ";";
string sql = "SELECT dbo.dokumenttyp.ErstellungInOffice FROM dbo.dokument INNER JOIN dbo.dokumenttyp ON dbo.dokument.dokumenttypnr = dbo.dokumenttyp.dokumenttypnr WHERE (dbo.dokument.dokumentid = '" + vd.DokumentID + "')";
db.Get_Tabledata(sql, false, true);
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "True")
{
//vd.dokument = "";
vp.send_onbase_doc = false;
}
}
}
//db.clear_parameter();
//db.add_parameter("@tgnummer", AppParams.currenttgnummer);
//db.add_parameter("@partnernr", vp.partnernr.ToString());
//db.add_parameter("@gasadresse", vp.GASAdresse);
//db.add_parameter("@versandoption", vp.Versandoption);
//db.add_parameter("@dokumente", dokumente);
//db.Get_Tabledata("Ondoc_Insert_Versandprotokoll", true, false);
//vp.protokollid = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
db = null;
send_vs(ref vp);
}
private void send_vs(ref Versandpaket vp, bool showmessage = true)
{
string jsonstring = JsonConvert.SerializeObject(vp);
//vp.send_onbase_doc = true;
DB db = new DB(AppParams.connectionstring);
db.clear_parameter();
db.add_parameter("@ersteller", AppParams.CurrentMitarbeiter.ToString());
db.Get_Tabledata("ondoc_create_versandpaket", true, false);
int paketid = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
db.Get_Tabledata_for_Update("Select top 1 * from Ondoc_Versandstrasse_Paket where id=" + paketid.ToString(), false, true);
DataRow dr = db.daten.Tables[0].Rows[0];
dr[2] = jsonstring;
dr["aktiv"] = 1;
dr["versandoption"] = vp.Versandoption.ToString();
dr["Bemerkung"] = vp.bemerkung;
// db.daten.Tables[0].Rows.Add(dr);
db.Update_Data();
db.daten.Tables.Clear();
db.Get_Tabledata_for_Update("Select * from ondoc_versandstrasse_paket_dokumentid where couvert_id = -1", false, true);
foreach (Versanddokument vd in vp.Dokument)
{
DataRow dr1 = db.daten.Tables[0].NewRow();
dr1[1] = paketid;
dr1[2] = vd.DokumentID;
dr1[3] = 1;
db.daten.Tables[0].Rows.Add(dr1);
}
db.Update_Data();
treeViewAdv1.Nodes.Remove(treeViewAdv1.SelectedNode);
if (!direktversenden)
{
return;
}
string URL = AppParams.RESTURI + "api/Send_Versandstrasse?paketid=" + paketid.ToString();
panelVerify.Visible = false;
WebRequest request;
var data = Encoding.UTF8.GetBytes(jsonstring);
request = WebRequest.Create(URL);
request.ContentLength = data.Length;
request.ContentType = "application/json";
request.Method = "POST";
request.Headers["Authorization"] = "Bearer " + AppParams.apikey;
string response;
try
{
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
requestStream.Close();
using (Stream responseStream = request.GetResponse().GetResponseStream())
{
using (var reader = new StreamReader(responseStream))
{
response = reader.ReadToEnd();
}
if (response.ToString().Contains("*archiviert"))
{
if (showmessage)
{
MessageBox.Show("Paket an Versandstrasse übergeben", "Versandstrasse", MessageBoxButtons.OK, MessageBoxIcon.Information);
treeViewAdv1.SelectedNode.Remove();
}
}
}
}
return;
}
catch { }
}
private void rbapost_CheckedChanged(object sender, EventArgs e)
{
this.panelVerify.Visible = false;
this.panelverifysb.Visible = false;
string versandoption = "";
if (rbapost.Checked) { versandoption = "A_POST"; }
if (rbb1post.Checked) { versandoption = "B1_POST"; }
if (rbb2post.Checked) { versandoption = "B2_POST"; }
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket; ;
vp.Versandoption = versandoption;
treeViewAdv1.SelectedNode.TagObject = vp;
}
private void treeViewAdvAdresse_AfterSelect(object sender, EventArgs e)
{
this.panelVerify.Visible = false;
try
{
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
System.Data.DataRow dr = treeViewAdvAdresse.SelectedNode.TagObject as System.Data.DataRow;
DataRow dr2 = treeViewAdvAdresse.SelectedNode.TagObject as DataRow;
vp.GASAdresse = dr2["einzeilig"].ToString();
treeViewAdv1.SelectedNode.TagObject = vp;
txtadresse.Text = "";
txtadresse.Text = dr["zeile1"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile2"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile3"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile4"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile5"].ToString() + Environment.NewLine;
txtadresse.Text = txtadresse.Text + dr["zeile6"].ToString() + Environment.NewLine;
try
{
txtadresse.Text = txtadresse.Text + dr["zeile7"].ToString() + Environment.NewLine;
}
catch { }
}
catch {
txtadresse.Text = "";
}
}
private void treeViewAdvAdresse_NodeMouseClick(object sender, TreeViewAdvMouseClickEventArgs e)
{
try
{
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
System.Data.DataRow dr = treeViewAdvAdresse.SelectedNode.TagObject as System.Data.DataRow;
DataRow dr2 = treeViewAdvAdresse.SelectedNode.TagObject as DataRow;
vp.GASAdresse = dr2["einzeilig"].ToString();
treeViewAdv1.SelectedNode.TagObject = vp;
}
catch { }
}
private void treeViewAdv1_AfterSelect(object sender, EventArgs e)
{
try
{
this.panelVerify.Visible = false;
Cursor.Current = Cursors.WaitCursor;
TreeNodeAdv node = treeViewAdv1.SelectedNode;
if (node.Level == 1)
{
if (Verify_Couvert(node) == false)
{
GrpPaketDetails.Enabled = false;
return;
}
GrpPaketDetails.Enabled = true;
Versandpaket paket = node.TagObject as Versandpaket; ;
switch (paket.Versandoption)
{
case "A_POST":
rbapost.Checked = true; break;
case "B1_POST":
rbb1post.Checked = true; break;
case "B2_POST":
rbb2post.Checked = true; break;
default:
rbb2post.Checked = true; break;
}
if (paket.GAS != "")
{
this.chkGAS.Checked = true;
}
else
{ this.chkGAS.Checked = false; }
if (paket.GASAdresse.ToString() != "")
{
foreach (TreeNodeAdv tn in treeViewAdvAdresse.Nodes)
{
if (tn.Tag.ToString() == paket.GASAdresse) {
treeViewAdvAdresse.SelectedNode = tn;
}
}
}
}
else
{
if (ribbonButtonDokPreview.Checked)
{
clsVersandstrasse vs = new clsVersandstrasse();
lblprieveiwbezeichnung.Text = node.Text;
string dok = "";
if (serienbrief)
{
dok = vs.Prepare_PDF(node.Text.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath, null, sb, node.Tag.ToString(), this.ribbonchkadresse.Checked);
}
else
{
dok = vs.Prepare_PDF(node.Tag.ToString(), AppParams.tempdir, AppParams.connectionstring, AppParams.RESTURI, AppParams.apikey, Application.StartupPath, null,null,"",this.ribbonchkadresse.Checked);
}
var stream = new MemoryStream(Convert.FromBase64String(dok));
this.pdfViewerControl1.Load(stream);
}
GrpPaketDetails.Enabled = false;
}
}
catch (Exception ex) { }
finally { Cursor.Current=Cursors.Default; }
}
private void button2_Click(object sender, EventArgs e)
{
panelVerify.Visible = false;
}
private void contextMenuStrip1_Click(object sender, EventArgs e)
{
}
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void TabControlDokuments_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void Refresh_VersandCouverts()
{
DB db = new DB(AppParams.connectionstring);
DB db2 = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from ondoc_versandstrasse_paket where aktiv=1 and ersteller=" + AppParams.CurrentMitarbeiter + " and versendet=0", false, true);
treeViewAdvCouverts.Nodes.Clear();
foreach (DataRow dr in db.dsdaten.Tables[0].Rows)
{
Versandpaket vp = JsonConvert.DeserializeObject<Versandpaket>(dr["paket"].ToString());
TreeNodeAdv tn = new TreeNodeAdv();
db2.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + vp.partnernr.ToString(), false, true);
tn.Text = vp.partnernr.ToString() + " - " + db2.dsdaten.Tables[0].Rows[0][0].ToString();
tn.TagObject = vp.finaldoc;
tn.Tag = dr[0].ToString();
if (vp.Versandoption.ToString() == "A_POST") { set_nodeimage(tn, 0); }
if (vp.Versandoption.ToString() == "B1_POST") { set_nodeimage(tn, 1); }
if (vp.Versandoption.ToString() == "B2_POST") { set_nodeimage(tn, 2); }
treeViewAdvCouverts.Nodes.Add(tn);
foreach (Versanddokument vd in vp.Dokument)
{
TreeNodeAdv tn2 = new TreeNodeAdv();
tn2.Text = vd.Bezeichnung;
tn2.Tag = vd.DokumentID;
tn2.TagObject = vd.dokument;
tn.Nodes.Add(tn2);
}
}
db = null;
db2 = null;
}
private void treeViewAdvCouverts_AfterSelect(object sender, EventArgs e)
{
try
{
TreeNodeAdv node = treeViewAdvCouverts.SelectedNode;
if (node.Level == 1)
{
if (this.ribbonbuttondokpreviewpostkorb.Checked)
{
var stream = new MemoryStream(Convert.FromBase64String(node.TagObject.ToString()));
this.pdfViewerControl2.Load(stream);
stream = null;
}
if (node.Level == 1)
{
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from ondoc_versandstrasse_paket where id=" + node.Tag.ToString(), false, true);
Versandpaket vp = JsonConvert.DeserializeObject<Versandpaket>(db.dsdaten.Tables[0].Rows[0]["paket"].ToString());
db = null;
this.textBox4.Text = this.pdfViewerControl2.PageCount.ToString();
this.textBox3.Text = node.Nodes.Count.ToString();
this.textBox2.Text = vp.Versandoption;
this.textBox1.Text = vp.GASAdresse.Replace(";", Environment.NewLine);
}
}
else
{
this.textBox4.Text = "";
this.textBox3.Text = "";
this.textBox2.Text = "";
this.textBox1.Text = "";
}
}
catch { }
}
private void versandCouvertLöschenToolStripMenuItem_Click(object sender, EventArgs e)
{
DB db = new DB(AppParams.connectionstring);
foreach (TreeNodeAdv tn in treeViewAdvCouverts.SelectedNodes)
{
db.Exec_SQL("Update ondoc_versandstrasse_paket set geloescht=getdate(), aktiv=0, geloescht_durch=" + AppParams.CurrentMitarbeiter.ToString() + " where id=" + tn.Tag.ToString());
}
db = null;
pdfViewerControl2.Unload();
lblprieveiwbezeichnung.Text = "";
Refresh_VersandCouverts();
}
private void versandCouvertÖffnenbearbeitenToolStripMenuItem_Click(object sender, EventArgs e)
{
if (treeViewAdvCouverts.SelectedNode.Level != 1) { return; }
int id = Convert.ToInt32(treeViewAdvCouverts.SelectedNode.Tag);
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select * from Ondoc_Versandstrasse_Paket where id=" +id.ToString(), false, true);
Versandpaket vp = JsonConvert.DeserializeObject<Versandpaket>(db.dsdaten.Tables[0].Rows[0]["Paket"].ToString());
pakete.Add(vp);
foreach (TreeNodeAdv tn in treeViewAdvCouverts.SelectedNodes)
{
db.Exec_SQL("Update ondoc_versandstrasse_paket set geloescht=getdate(), aktiv=0, reopen=1,geloescht_durch=" + AppParams.CurrentMitarbeiter.ToString() + " where id=" + id.ToString());
}
db = null;
treeViewAdvCouverts.Nodes.Remove(treeViewAdvCouverts.SelectedNode);
pdfViewerControl2.Unload();
lblprieveiwbezeichnung.Text = "";
Reload_Tree();
ribbon1.TabIndex = 0;
}
private void löschenToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
TreeNodeAdv node = treeViewAdv1.SelectedNode;
if (node.Level > 1)
{
Versanddokument vd = node.TagObject as Versanddokument;
node = node.Parent;
Versandpaket vp = node.TagObject as Versandpaket;
reserve_vs_dokument(treeViewAdv1.SelectedNode.Tag.ToString(), 2);
vp.Dokument.Remove(vd);
treeViewAdv1.SelectedNode.Remove();
Verify_Couvert(node);
}
else
{
foreach (TreeNodeAdv tn in node.Nodes)
{
reserve_vs_dokument(tn.Tag.ToString(), 2);
}
Versandpaket vp = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
pakete.Remove(vp);
treeViewAdv1.SelectedNode.Remove();
this.pdfViewerControl1.Unload();
}
}
catch { }
}
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 tschkcouvertpos_CheckedChanged(object sender, EventArgs e)
{
treeViewAdv1_AfterSelect(sender, e);
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
if (treeViewAdv1.SelectedNode.Level>1 && treeViewAdv1.SelectedNode.Parent.Text.Contains("Serienbrief"))
{
löschenToolStripMenuItem.Enabled = false;
}
else
{
löschenToolStripMenuItem.Enabled = true;
}
}
private void btnsendserienbrief_Click(object sender, EventArgs e)
{
direktversenden = true;
this.pnlprogress.Visible = true;
this.progressBarAdv1.Minimum = 0;
this.progressBarAdv1.Value = 0;
this.progressBarAdv1.Maximum = treeViewAdv1.SelectedNode.Nodes.Count;
Application.DoEvents();
btnSendFinal_Click(sender, e);
direktversenden = false;
this.panelverifysb.Visible = false;
this.pnlprogress.Visible = false;
}
private void button5_Click(object sender, EventArgs e)
{
this.panelverifysb.Visible = false;
}
private void tsbtnpreviewdoc_Click(object sender, EventArgs e)
{
}
private void tsbtncheckaddress_Click(object sender, EventArgs e)
{
}
private void ribbonButton1_Click(object sender, EventArgs e)
{
}
private void ribbonButtonNewCouvert_Click(object sender, EventArgs e)
{
Versandpaket newpaket = new Versandpaket();
newpaket.PaketNr = (treeViewAdv1.Nodes.Count + 1).ToString();
newpaket.Versandoption = "B2_POST";
newpaket.GAS = "";
newpaket.GASAdresse = "";
newpaket.Mitteilung = "";
newpaket.Dokument = new List<Versanddokument>();
string NodeText = "Versand-Couvert " + (treeViewAdv1.Nodes.Count + 1).ToString();
TreeNodeAdv drucknode = new TreeNodeAdv();
drucknode.Text = NodeText;
drucknode.Tag = "Druckpaket";
drucknode.TagObject = newpaket;
pakete.Add(newpaket);
treeViewAdv1.Nodes.Add(drucknode);
}
private void ribbonTab1_ActiveChanged(object sender, EventArgs e)
{
if (this.ribbonTab1.Active)
{
this.lblpostausgang.Visible = false;
this.pnlcouvert.Visible = true;
this.pnlcouvert.Dock= DockStyle.Fill;
this.pnlpostkorb.Visible = false;
}
}
private void ribbonTab2_ActiveChanged(object sender, EventArgs e)
{
if (this.ribbonTab2.Active)
{
this.lblpostausgang.Visible = true;
this.lblpostausgang.Left = this.Width-lblpostausgang.Width;
this.pnlcouvert.Visible = false;
this.pnlpostkorb.Visible = true;
this.pnlpostkorb.Dock= DockStyle.Fill;
Refresh_VersandCouverts();
}
}
private void ribbonButtonDokPreview_Click(object sender, EventArgs e)
{
if (this.ribbonButtonDokPreview.Checked)
{
this.ribbonButtonDokPreview.Checked = false;
this.pdfViewerControl1.Unload();
lblprieveiwbezeichnung.Text = "";
}
else
{
this.ribbonButtonDokPreview.Checked = true;
treeViewAdv1_AfterSelect(sender, e);
}
}
private void ribbonchkadresse_Click(object sender, EventArgs e)
{
treeViewAdv1_AfterSelect(sender, e);
}
private void ribbon1_Click(object sender, EventArgs e)
{
this.pnlcouvert.Dock = DockStyle.Fill;
}
private void ribbonbuttondokpreviewpostkorb_Click(object sender, EventArgs e)
{
if (ribbonbuttondokpreviewpostkorb.Checked)
{
ribbonbuttondokpreviewpostkorb.Checked = false;
this.pdfViewerControl2.Unload();
lblprieveiwbezeichnung.Text = "";
}
else
{
ribbonbuttondokpreviewpostkorb.Checked= true;
treeViewAdv1_AfterSelect(sender, e);
}
}
private void Versandstrasse_Resize(object sender, EventArgs e)
{
this.treeViewAdvCouverts.Height = this.Height - this.ribbon1.Height-this.grpCouvertDetails.Height;
panelPrepare.Left = this.Width - this.panelPrepare.Width;
}
private void Versandstrasse_FormClosing(object sender, FormClosingEventArgs e)
{
if (this.treeViewAdv1.Nodes.Count > 0)
{
MessageBox.Show("Vor dem Schliessen sind die pendenten Couverts zu löschen oder in den Postausgang zu legen.","Schliessen",MessageBoxButtons.OK,MessageBoxIcon.Information);
e.Cancel = true;
}
}
private void ribbon1_TabIndexChanged(object sender, EventArgs e)
{
int a = 0;
}
public void add_doc (Versanddokument vs)
{
bool zugewiesen = false;
foreach (Versandpaket vp in pakete)
{
if (vp.partnernr.ToString() == vs.Partnernr)
{
vp.Dokument.Add(vs);
zugewiesen = true;
Reload_Tree();
break;
}
}
if (!zugewiesen)
{
Versandpaket vp = new Versandpaket();
vp.Dokument = new List<Versanddokument>();
vp.partnernr = Convert.ToInt32(vs.Partnernr);
vp.Versandoption = "B2_POST";
vp.Mitteilung = "";
vp.GAS = "";
vp.GASAdresse = "";
vp.PaketNr = Guid.NewGuid().ToString();
vp.Dokument.Add(vs);
pakete.Add(vp);
zugewiesen = true;
Reload_Tree();
}
}
private void Versandstrasse_FormClosed(object sender, FormClosedEventArgs e)
{
AppParams.versandstrassewindows_open = false;
}
}
}