update 20250324
This commit is contained in:
@@ -19,16 +19,18 @@ using Versandstrasse;
|
||||
using System.IO;
|
||||
using Syncfusion.Pdf;
|
||||
using Database;
|
||||
using System.Net;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace OnDoc.Versandstrasse
|
||||
{
|
||||
public partial class Versandstrasse : SfForm
|
||||
{
|
||||
private Versandpakete pakete = new Versandpakete();
|
||||
private List<Versandpaket> pakete = new List<Versandpaket>();
|
||||
private TreeViewAdvDragHighlightTracker treeViewDragHighlightTracker = null;
|
||||
private TreeNodeAdv currentSourceNode;
|
||||
|
||||
public Versandstrasse(Versandpakete pakete)
|
||||
|
||||
public Versandstrasse(List<Versandpaket> pakete)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.treeViewAdv1.AutoScrolling = ScrollBars.Both;
|
||||
@@ -44,24 +46,43 @@ namespace OnDoc.Versandstrasse
|
||||
this.pakete = pakete;
|
||||
}
|
||||
|
||||
private void load_adressen()
|
||||
{
|
||||
DB db = new DB(AppParams.connectionstring);
|
||||
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.TagObject = dr;
|
||||
treeViewAdvAdresse.Nodes.Add(node);
|
||||
|
||||
}
|
||||
treeViewAdvAdresse.Enabled = false;
|
||||
treeViewAdvAdresse.SelectedNode = treeViewAdvAdresse.Nodes[0];
|
||||
}
|
||||
private void Versandstrasse_Load(object sender, EventArgs e)
|
||||
{
|
||||
load_adressen();
|
||||
Reload_Tree();
|
||||
}
|
||||
private void Reload_Tree() {
|
||||
treeViewAdv1.Nodes.Clear();
|
||||
|
||||
TreeNodeAdv DruckJob;
|
||||
for (int i = 0; i < pakete.paket.Count; i++)
|
||||
DB db = new DB(AppParams.connectionstring);
|
||||
for (int i = 0; i < pakete.Count; i++)
|
||||
{
|
||||
db.Get_Tabledata("Select bkpar00 from partner where nrpar00=" + pakete[i].partnernr.ToString(), false, true);
|
||||
DruckJob = new TreeNodeAdv();
|
||||
DruckJob.Text = "Druckpaket " + pakete.paket[i].PaketNr;
|
||||
DruckJob.Text = "Druckpaket " + pakete[i].PaketNr.ToString()+" - " + db.dsdaten.Tables[0].Rows[0][0].ToString();
|
||||
DruckJob.Tag = "Druckpaket";
|
||||
DruckJob.TagObject = pakete.paket[i];
|
||||
DruckJob.TagObject = pakete[i];
|
||||
treeViewAdv1.Nodes.Add(DruckJob);
|
||||
|
||||
PopulateDocs(pakete.paket[i], ref DruckJob);
|
||||
PopulateDocs(pakete[i], ref DruckJob);
|
||||
}
|
||||
db = null;
|
||||
treeViewAdv1.ExpandAll();
|
||||
}
|
||||
|
||||
@@ -241,10 +262,10 @@ namespace OnDoc.Versandstrasse
|
||||
break;
|
||||
}
|
||||
|
||||
if (paket.GAS.ToString() == "1"){
|
||||
chkGAS.Checked= true;
|
||||
lbgasadresse.SelectedIndex = Convert.ToInt32(paket.GASAdresse.ToString());
|
||||
} else { chkGAS.Checked= false; }
|
||||
//if (paket.GAS.ToString() == "1"){
|
||||
// chkGAS.Checked= true;
|
||||
// lbgasadresse.SelectedIndex = Convert.ToInt32(paket.GASAdresse.ToString());
|
||||
//} else { chkGAS.Checked= false; }
|
||||
}
|
||||
else {
|
||||
if (tscheckboxpreview.Checked)
|
||||
@@ -266,7 +287,7 @@ namespace OnDoc.Versandstrasse
|
||||
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"; }
|
||||
//try { paket.GASAdresse = lbgasadresse.SelectedIndex.ToString(); } catch { paket.GASAdresse= "0"; }
|
||||
paket.verified = true;
|
||||
treeViewAdv1.SelectedNode.TagObject = paket;
|
||||
//pakete.paket.Add(paket);
|
||||
@@ -277,36 +298,50 @@ namespace OnDoc.Versandstrasse
|
||||
|
||||
private void btnSend_Click(object sender, EventArgs e)
|
||||
{
|
||||
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
|
||||
foreach (Versanddokument vsdok in paket.Dokument)
|
||||
panelPrepare.Visible = true;
|
||||
Application.DoEvents();
|
||||
Cursor = Cursors.WaitCursor;
|
||||
try
|
||||
{
|
||||
clsVersandstrasse vs = new clsVersandstrasse();
|
||||
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
|
||||
//string dok = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
|
||||
}
|
||||
Stream[] streams = new Stream[paket.Dokument.Count];
|
||||
int i = 0;
|
||||
foreach (Versanddokument vsdok in paket.Dokument)
|
||||
{
|
||||
var stream = new MemoryStream(Convert.FromBase64String(vsdok.dokument));
|
||||
streams[i] = stream;
|
||||
i++;
|
||||
Versandpaket paket = treeViewAdv1.SelectedNode.TagObject as Versandpaket;
|
||||
foreach (Versanddokument vsdok in paket.Dokument)
|
||||
{
|
||||
clsVersandstrasse vs = new clsVersandstrasse();
|
||||
vsdok.dokument = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
|
||||
//string dok = vs.Prepare_PDF(vsdok.DokumentID.ToString(), AppParams.tempdir, AppParams.connectionstring);
|
||||
}
|
||||
Stream[] streams = new Stream[paket.Dokument.Count];
|
||||
int i = 0;
|
||||
foreach (Versanddokument vsdok in paket.Dokument)
|
||||
{
|
||||
var stream = new MemoryStream(Convert.FromBase64String(vsdok.dokument));
|
||||
streams[i] = stream;
|
||||
i++;
|
||||
}
|
||||
|
||||
string stapel = save_stapel(ref streams);
|
||||
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;
|
||||
}
|
||||
catch { }
|
||||
panelPrepare.Visible = false;
|
||||
Cursor = Cursors.Default;
|
||||
Application.DoEvents();
|
||||
|
||||
string stapel = save_stapel(ref streams);
|
||||
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;
|
||||
}
|
||||
|
||||
private string save_stapel(ref Stream[] streams)
|
||||
{
|
||||
try
|
||||
@@ -323,5 +358,88 @@ namespace OnDoc.Versandstrasse
|
||||
}
|
||||
catch { return ""; }
|
||||
}
|
||||
|
||||
private void chkGAS_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (chkGAS.Checked)
|
||||
{
|
||||
treeViewAdvAdresse.Enabled= true;
|
||||
}
|
||||
else
|
||||
{
|
||||
treeViewAdvAdresse.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSendFinal_Click(object sender, EventArgs e)
|
||||
{
|
||||
panelVerify.Visible = false;
|
||||
SendTo_Versandstrasse();
|
||||
|
||||
}
|
||||
private void SendTo_Versandstrasse()
|
||||
{
|
||||
Versandpaket versandpaket = new Versandpaket();
|
||||
versandpaket = (Versandpaket)treeViewAdv1.SelectedNode.TagObject;
|
||||
versandpaket.send_onbase_doc = true;
|
||||
string jsonstring = JsonConvert.SerializeObject(versandpaket);
|
||||
|
||||
|
||||
|
||||
string URL = AppParams.RESTURI + "api/Send_Versandstrasse";
|
||||
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"))
|
||||
{
|
||||
MessageBox.Show("Paket an Versandstrasse übergeben");
|
||||
}
|
||||
//if (response.StatusCode == HttpStatusCode.OK)
|
||||
//{
|
||||
// StreamReader reader = new StreamReader(response.GetResponseStream());
|
||||
// string responseContent = reader.ReadToEnd();
|
||||
// if (responseContent.Contains("Hinweismeldung:"))
|
||||
// {
|
||||
// MessageBox.Show("Das Paket wurde erfolgreich an die Versandstrasse übergeben:" + Environment.NewLine + responseContent);
|
||||
// treeViewAdv1.SelectedNode.Remove();
|
||||
// return;
|
||||
// }
|
||||
// Logging.DocLog.Info("Dokumentpaket an Versandstrasse übergeben", "OnDoc", versandpaket.partnernr.ToString(), "", "");
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// MessageBox.Show("Das Paket konnte nicht an die Versandstrasse übergeben werden." + Environment.NewLine + "Fehler: " + response.StatusDescription);
|
||||
// Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", "");
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
catch { }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user