update 20250501
This commit is contained in:
@@ -9,11 +9,15 @@ using System.IO;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data;
|
||||
using System.Security.Cryptography;
|
||||
using Newtonsoft.Json;
|
||||
using System.Net.Mail;
|
||||
using System.Net.Http;
|
||||
|
||||
|
||||
|
||||
namespace OnDoc_Paketversand
|
||||
{
|
||||
|
||||
internal class Program
|
||||
{
|
||||
private static string connectionstring { get; set; } = "";
|
||||
@@ -27,28 +31,39 @@ namespace OnDoc_Paketversand
|
||||
|
||||
public static void InitLogging()
|
||||
{
|
||||
|
||||
|
||||
Get_Tabledata("Select * from nlog_parameter WHERE ID=4", false, true);
|
||||
Logging.Logging.IntLogLevel = dsdaten.Tables[0].Rows[0]["LogLevel"].ToString();
|
||||
Logging.Logging.IntUserID = dsdaten.Tables[0].Rows[0]["LogUserID"].ToString();
|
||||
Logging.Logging.connectionstring = Properties.Settings.Default.LogConnectionstring;
|
||||
Logging.Logging.init_logger();
|
||||
|
||||
Logging.VersandstrasseLog.IntLogLevel = dsdaten.Tables[0].Rows[0]["LogLevel"].ToString();
|
||||
Logging.VersandstrasseLog.IntUserID = dsdaten.Tables[0].Rows[0]["LogUserID"].ToString();
|
||||
Logging.VersandstrasseLog.connectionstring = Properties.Settings.Default.LogConnectionstring;
|
||||
Logging.VersandstrasseLog.init_logger();
|
||||
}
|
||||
|
||||
private static void run(){
|
||||
private static void run()
|
||||
{
|
||||
connectionstring = Properties.Settings.Default.Connectionstring;
|
||||
Console.WriteLine(connectionstring);
|
||||
InitLogging();
|
||||
|
||||
Logging.VersandstrasseLog.Info("Start OnDocPaketversand", "OnDoc-Paketversand", "", "", "");
|
||||
string URLBase = Properties.Settings.Default.RESTURI + "api/Send_Versandstrasse?paketid=";
|
||||
Console.WriteLine(URLBase);
|
||||
Get_Tabledata("Select id,paket from ondoc_versandstrasse_paket where versendet=0 and geloescht=0 and aktiv=1 order by versandoption", false, true);
|
||||
|
||||
string sql = "SELECT dbo.Ondoc_Versandstrasse_Paket.id, dbo.Ondoc_Versandstrasse_Paket.paket, dbo.Ondoc_Versandstrasse_Paket.ersteller, dbo.mitarbeiter.email";
|
||||
sql = sql + " FROM dbo.Ondoc_Versandstrasse_Paket INNER JOIN dbo.mitarbeiter ON dbo.Ondoc_Versandstrasse_Paket.ersteller = dbo.mitarbeiter.mitarbeiternr";
|
||||
sql = sql + " where (dbo.Ondoc_Versandstrasse_Paket.versendet = 0) AND (dbo.Ondoc_Versandstrasse_Paket.geloescht = 0) AND (dbo.Ondoc_Versandstrasse_Paket.aktiv = 1)";
|
||||
sql = sql + " ORDER BY dbo.Ondoc_Versandstrasse_Paket.Versandoption";
|
||||
Get_Tabledata(sql, false, true);
|
||||
int total = 0;
|
||||
int ok = 0;
|
||||
int error = 0;
|
||||
foreach (System.Data.DataRow dr in dsdaten.Tables[0].Rows)
|
||||
{
|
||||
Console.WriteLine("PaketID:"+ dr[0].ToString());
|
||||
string paketid = "";
|
||||
string ersteller = "";
|
||||
ersteller = dr[3].ToString();
|
||||
paketid = dr[0].ToString();
|
||||
Model.Versandpaket vp = JsonConvert.DeserializeObject<Model.Versandpaket>(dr[1].ToString());
|
||||
Logging.VersandstrasseLog.Info("Paket-Verarbeitung", "OnDoc-Paketversand", paketid, vp.partnernr.ToString(), "Start Versand");
|
||||
string jsonstring = dr[1].ToString();
|
||||
string URL = URLBase+ dr[0].ToString();
|
||||
string URL = URLBase + dr[0].ToString();
|
||||
WebRequest request;
|
||||
var data = Encoding.UTF8.GetBytes(jsonstring);
|
||||
request = WebRequest.Create(URL);
|
||||
@@ -57,6 +72,7 @@ namespace OnDoc_Paketversand
|
||||
request.Method = "POST";
|
||||
request.Headers["Authorization"] = "Bearer " + Properties.Settings.Default.APIKey;
|
||||
string response;
|
||||
total = total + 1;
|
||||
try
|
||||
{
|
||||
|
||||
@@ -73,22 +89,41 @@ namespace OnDoc_Paketversand
|
||||
}
|
||||
if (response.ToString().Contains("archiviert"))
|
||||
{
|
||||
|
||||
Logging.VersandstrasseLog.Info("Paket-Verarbeitung", "OnDoc-Paketversand", paketid, vp.partnernr.ToString(), "Ende Versand");
|
||||
ok = ok + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
string message = "Das Versand-Couvert Nr. " + paketid + " / Partner-Nr " + vp.partnernr + " konnte nicht versendet werden.";
|
||||
sendmail(Properties.Settings.Default.adminmail, "OnDoc-Paketversand Fehler", message);
|
||||
|
||||
sendmail(ersteller, "OnDoc-Paketversand: Dokument nicht Versandcouvert nicht versendet", message);
|
||||
|
||||
Logging.VersandstrasseLog.Error("Paket-Verarbeitung", "OnDoc-Paketversand", paketid, vp.partnernr.ToString(), "Ende Versand");
|
||||
error = error + 1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch { }
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logging.VersandstrasseLog.Error("Paket-Verarbeitung", "OnDoc-Paketversand", dr[0].ToString(), vp.partnernr.ToString(), "Ende Versand - " + ex.Message);
|
||||
sendmail(Properties.Settings.Default.adminmail, "OnDoc-Paketversand Fehler", ex.Message);
|
||||
error = error + 1;
|
||||
}
|
||||
|
||||
}
|
||||
Logging.VersandstrasseLog.Info("Ende OnDocPaketversand", "OnDoc-Paketversand", "", "", "");
|
||||
string msg = "OnDok Paketversand durchgeführt" + Environment.NewLine + "Total Pakete:" + total.ToString() + Environment.NewLine + "OK: " + ok.ToString() + Environment.NewLine + "Fehler: " + error.ToString();
|
||||
sendmail(Properties.Settings.Default.adminmail, "OnDoc-Paketversand abgeschlossen", msg);
|
||||
}
|
||||
private static DataTable Get_Tabledata(string Tablename, bool StoredProc = false, bool is_SQL_String = false, DataTable sp_params = null)
|
||||
private static DataTable Get_Tabledata(string Tablename, bool StoredProc = false, bool is_SQL_String = false, DataTable sp_params = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
if (sp_params == null && SP_Parameters.Rows.Count > 0)
|
||||
{
|
||||
sp_params = SP_Parameters.Copy();
|
||||
@@ -135,15 +170,41 @@ namespace OnDoc_Paketversand
|
||||
sqlconnect.Open();
|
||||
da.Fill(dsdaten, "Daten1");
|
||||
sqlconnect.Close();
|
||||
|
||||
|
||||
return dsdaten.Tables[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
private static void sendmail(string empfaenger, string betreff, string message)
|
||||
{
|
||||
MailMessage mail = new MailMessage();
|
||||
SmtpClient SmtpServer = new SmtpClient();
|
||||
mail.To.Add(empfaenger);
|
||||
mail.From = new MailAddress("OnDoc@tkb.ch");
|
||||
mail.Subject = Properties.Settings.Default.prefix_betreff + betreff;
|
||||
mail.IsBodyHtml = true;
|
||||
mail.Body = message;
|
||||
SmtpServer.Host = "smtp.tgcorp.ch";
|
||||
SmtpServer.Port = 25;
|
||||
SmtpServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
|
||||
try
|
||||
{
|
||||
SmtpServer.Send(mail);
|
||||
Logging.VersandstrasseLog.Info("Mailversand and " + empfaenger + " erfolgt", "OnDoc-Paketversand", "", "", "");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logging.VersandstrasseLog.Error("Mailversand and " + empfaenger + " nicht erfolgt", "OnDoc-Paketversand", "", "", "");
|
||||
|
||||
}
|
||||
mail = null;
|
||||
SmtpServer = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user