|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data;
|
|
|
using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Net;
|
|
|
using System.Net.Http;
|
|
|
using System.Net.Mail;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using Database;
|
|
|
using Model;
|
|
|
using Newtonsoft.Json;
|
|
|
using static System.Net.WebRequestMethods;
|
|
|
|
|
|
namespace zz_api_doccreate_demo
|
|
|
{
|
|
|
internal class Program
|
|
|
{
|
|
|
static string connectionstring = @"data source=shu01\shu00;initial catalog=edoka_dms;packet size=4096;user id=sa;password=*shu29";
|
|
|
static string unterschriftenpath = @"E:\Software-Projekte\OnDoc\Unterschriften\";
|
|
|
static void Main(string[] args)
|
|
|
{
|
|
|
bool hasattachment = false;
|
|
|
|
|
|
|
|
|
string result = System.IO.File.ReadAllText(@"E:\Software-Projekte\OnDoc\APIJson\PAKET.json");
|
|
|
DokumentCreate paket = new DokumentCreate();
|
|
|
paket = JsonConvert.DeserializeObject<DokumentCreate>(result);
|
|
|
|
|
|
string CheckResult = "";
|
|
|
CheckResult = CreatePaket_Verify(ref paket);
|
|
|
if (CheckResult != "")
|
|
|
{
|
|
|
Console.WriteLine(CheckResult);
|
|
|
}
|
|
|
|
|
|
foreach (APIDokument dokument in paket.Dokumente)
|
|
|
{
|
|
|
if (dokument.PDFDoc != "" && dokument.PDFDoc != null)
|
|
|
{
|
|
|
string gid = "ATT" + RandomString(19);
|
|
|
dokument.DokumentID = gid;
|
|
|
hasattachment = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dokument.DokumentID = create_paketdoc(dokument, paket, "");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
static string CreatePaket_Verify(ref DokumentCreate paket)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
int i = 0;
|
|
|
foreach (APIDokument dokument in paket.Dokumente)
|
|
|
{
|
|
|
i = i + 1;
|
|
|
if (dokument.PDFDoc != null && dokument.PDFDoc.Length > 0)
|
|
|
{
|
|
|
if (i == 1) { return "Ein Anhang (PDF-Dokument) kann nicht als erstes Dokument bereit gestellt werden."; }
|
|
|
if (!(ParamCheck("partnernr", dokument.Partnernr.ToString()))) { return "Partnernr " + dokument.Partnernr + " ist ungültig"; }
|
|
|
if (dokument.VorlagenTypID != "0") { return "Vorlagentyp muss bei PDF-Dokumenten '0' sein"; }
|
|
|
break;
|
|
|
}
|
|
|
if (!(ParamCheck("partnernr", dokument.Partnernr.ToString()))) { return "Partnernr " + dokument.Partnernr + " ist ungültig"; }
|
|
|
if (dokument.VorlagenTypID == "" && dokument.PDFDoc == "") { return "Vorlagentyp emptry und PDFDoc empty"; }
|
|
|
if (!(ParamCheck("dokumenttyp", dokument.VorlagenTypID))) { return "Vorlagentyp " + dokument.VorlagenTypID + " ist ungültig"; }
|
|
|
if (!(ParamCheck("tgnr", dokument.TGNrErsteller))) { return "TGNr-Ersteller " + dokument.TGNrErsteller + " ist ungültig"; }
|
|
|
if (!(ParamCheck("tgnr", dokument.TGNrVerantwortlich))) { return "TGNr-Verantwortlich " + dokument.TGNrVerantwortlich + " ist ungültig"; }
|
|
|
if (!(ParamCheck("tgnr", dokument.TGNrUnterschriftLinks))) { return "TGNr-Unterschriftlinks " + dokument.TGNrUnterschriftLinks + " ist ungültig"; }
|
|
|
if (!(ParamCheck("tgnr", dokument.TGNrUnterschriftRechts))) { return "TGNr-Unterschriftrechts " + dokument.TGNrUnterschriftRechts + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", dokument.FaksimileUnterschrift))) { return "Parameter Faxsimile " + dokument.FaksimileUnterschrift + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", dokument.OhneUnterschrift))) { return "Parameter Form ohne Unterschrift " + dokument.OhneUnterschrift + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", dokument.PrintLogo))) { return "Parameter PrintLogo " + dokument.PrintLogo + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", dokument.UnterschriftLinksGeprueft))) { return "Parameter UnterschriftLinksGeprueft" + dokument.UnterschriftLinksGeprueft + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", dokument.UnterschriftRechtsGeprueft))) { return "Parameter UnterschriftRechtsGeprueft" + dokument.UnterschriftRechtsGeprueft + " ist ungültig"; }
|
|
|
if (dokument.TGNrUnterschriftLinks.ToString() == "") { dokument.TGNrUnterschriftLinks = "-1"; }
|
|
|
if (dokument.TGNrUnterschriftRechts.ToString() == "") { dokument.TGNrUnterschriftRechts = "-1"; }
|
|
|
if (dokument.FaksimileUnterschrift.ToUpper() == "YES")
|
|
|
{
|
|
|
if (dokument.TGNrUnterschriftLinks.ToString() == "-1") { return "Faksimile Unterschrift benötigt mit den Parameter TGUnterschriftLinks"; }
|
|
|
if (dokument.TGNrUnterschriftLinks.ToString() != "")
|
|
|
{
|
|
|
//string path = System.Configuration.ConfigurationManager.AppSettings["UnterschriftPath"].ToString() + dokument.TGNrUnterschriftLinks.ToString() + ".jpg";
|
|
|
string path = unterschriftenpath + dokument.TGNrUnterschriftLinks.ToString() + ".jpg";
|
|
|
if (!System.IO.File.Exists(path)) { return "Image Unterschrift links " + dokument.TGNrUnterschriftLinks + " ist nicht vorhanden"; }
|
|
|
}
|
|
|
if (dokument.TGNrUnterschriftRechts.ToString() != "-1")
|
|
|
{
|
|
|
//string path = System.Configuration.ConfigurationManager.AppSettings["UnterschriftPath"].ToString() + dokument.TGNrUnterschriftLinks.ToString() + ".jpg";
|
|
|
string path = unterschriftenpath + dokument.TGNrUnterschriftLinks.ToString() + ".jpg";
|
|
|
if (!System.IO.File.Exists(path)) { return "Image Unterschrift rechts " + dokument.TGNrUnterschriftRechts + " ist nicht vorhanden"; }
|
|
|
}
|
|
|
}
|
|
|
if (paket.Versandstrasse == "Yes")
|
|
|
{
|
|
|
if (dokument.TGNrUnterschriftLinks != "" && dokument.UnterschriftLinksGeprueft != "Yes")
|
|
|
{
|
|
|
return "Versandstrasse mit ungeprüfter, linker Unterschrift ist nicht möglich";
|
|
|
}
|
|
|
if (dokument.TGNrUnterschriftRechts != "" && dokument.UnterschriftRechtsGeprueft != "Yes")
|
|
|
{
|
|
|
return "Versandstrasse mit ungeprüfter, rechter Unterschrift ist nicht möglich";
|
|
|
}
|
|
|
if (ParamCheck("doktypversandstrasse", dokument.VorlagenTypID) == false) { return "Vorlagentyp " + dokument.VorlagenTypID + " ist nicht für die Versandstrasse konfiguriert"; }
|
|
|
if (i == 1)
|
|
|
{
|
|
|
if (ParamCheck("firstdoc", dokument.VorlagenTypID) == false) { return "Vorlagentyp " + dokument.VorlagenTypID + " kann nicht als erstes Dokument im Paket sein"; }
|
|
|
}
|
|
|
//if (dokument.TGNrUnterschriftLinks.ToLower() != "-1" && dokument.TGNrUnterschriftRechts.ToString() != "-1") { return "Versandstrasse mit zwei Unterschriften kann nicht automatisch angesteuert werden"; }
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!(ParamCheck("yesno", paket.Versandstrasse))) { return "Parameter Versandstrasse " + paket.Versandstrasse + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", paket.Versand_Direkt))) { return "Parameter Versand Direkt " + paket.Versand_Direkt + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", paket.Result_OnDoc))) { return "Parameter Result_OnDoc " + paket.Result_OnDoc + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", paket.Result_Sender))) { return "Parameter Result_Sender " + paket.Result_Sender + " ist ungültig"; }
|
|
|
if (!(ParamCheck("filetype", paket.Result_FileType))) { return "Parameter Result_Filetype " + paket.Result_FileType + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", paket.ConfirmationMail))) { return "Parameter ConfirmationMail " + paket.ConfirmationMail + " ist ungültig"; }
|
|
|
if (!(ParamCheck("yesno", paket.ConfirmationMail))) { return "Parameter ConfirmationMail " + paket.ConfirmationMail + " ist ungültig"; }
|
|
|
if (!(ParamCheck("versandoption", paket.Versand_Option))) { return "Versandoption " + paket.Versand_Option + " ist ungültig"; }
|
|
|
if (paket.ConfirmationMail.ToUpper() == "YES" && paket.ConfirmationMailAddress.ToString() != "") { return "E-Mailadresse für Confirmation fehlt"; }
|
|
|
|
|
|
if (paket.Versandstrasse == "Yes")
|
|
|
{
|
|
|
if (paket.Versand_Option == "") { return "Versandoption fehlt (A_Post, B1_Post, B2_Post"; }
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
catch (Exception ex) { return ex.Message; }
|
|
|
|
|
|
}
|
|
|
static bool ParamCheck(string ParamType, string ParamValue)
|
|
|
{
|
|
|
DB db = new DB(connectionstring);
|
|
|
try
|
|
|
{
|
|
|
|
|
|
switch (ParamType)
|
|
|
{
|
|
|
case "partnernr":
|
|
|
db.Get_Tabledata("Select count(*) from partner where nrpar00=" + ParamValue, false, true);
|
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "0") { return false; }
|
|
|
break;
|
|
|
case "dokumenttyp":
|
|
|
db.Get_Tabledata("Select count(*) from dokumenttyp where dokumenttypnr=" + ParamValue, false, true);
|
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "0") { return false; }
|
|
|
break;
|
|
|
case "partnerdokumenttyp":
|
|
|
//Prüfung Person/Doktyp BP/Doktyp
|
|
|
break;
|
|
|
case "tgcreator":
|
|
|
case "tgresp":
|
|
|
case "tgul":
|
|
|
case "tgur":
|
|
|
case "tgnr":
|
|
|
if (ParamType == "tgcreator" && ParamValue == "") { return false; } else { if (ParamValue == "") { return true; } };
|
|
|
db.Get_Tabledata("Select count(*) from mitarbeiter where tgnummer='" + ParamValue + "'", false, true);
|
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "0") { return false; }
|
|
|
break;
|
|
|
case "yesno":
|
|
|
if (ParamValue != "Yes" && ParamValue != "No" && ParamValue != "") { return false; };
|
|
|
break;
|
|
|
case "filetype":
|
|
|
if (ParamValue != "WORD" && ParamValue != "PDF") { return false; }
|
|
|
break;
|
|
|
case "versandoption":
|
|
|
if (ParamValue != "A_POST" && ParamValue != "B1_POST" && ParamValue != "B2_POST" && ParamValue != "") { return false; }
|
|
|
break;
|
|
|
case "doktypversandstrasse":
|
|
|
db.Get_Tabledata("Select versandstrasse_moeglich, versandstrasse_firstdoc from dokumenttyp where dokumenttypnr=" + ParamValue, false, true);
|
|
|
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]) == 0) { return false; }
|
|
|
break;
|
|
|
case "firstdoc":
|
|
|
db.Get_Tabledata("Select versandstrasse_moeglich, versandstrasse_firstdoc from dokumenttyp where dokumenttypnr=" + ParamValue, false, true);
|
|
|
if (Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][1]) == 0) { return false; }
|
|
|
break;
|
|
|
default:
|
|
|
return false;
|
|
|
break;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
db = null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
static string create_paketdoc(APIDokument dokument, DokumentCreate paket, string key)
|
|
|
{
|
|
|
//string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString();
|
|
|
string dokumentid = "";
|
|
|
clsDocData dokdata = new clsDocData();
|
|
|
Database.DB db = new DB(connectionstring);
|
|
|
|
|
|
db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + dokument.VorlagenTypID, false, true);
|
|
|
System.Data.DataRow dr = db.dsdaten.Tables[0].Rows[0];
|
|
|
dokdata.Barcode = Convert.ToBoolean(dr["Vertrag"]) == true;
|
|
|
db.Get_Tabledata("Select beschreibung from physischesarchiv where physischesarchivnr = " + dr["physisches_archiv"].ToString(), false, true);
|
|
|
dokdata.barcode_zusatz = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
|
|
if (dokdata.barcode_zusatz != "") { dokdata.barcode_zusatz = " " + dokdata.barcode_zusatz; }
|
|
|
|
|
|
db.Get_Tabledata("Select office_vorlagenr,kopfzeile_generieren, bcpt,bcpl, bcw, bch, bchorizontal, barcodetype, datamatrixcontent from office_vorlage where office_vorlagenr=" + dr["office_vorlagenr"].ToString(), false, true);
|
|
|
dokdata.VorlageNr = Convert.ToInt32(dr["office_vorlagenr"]).ToString(); ;
|
|
|
try
|
|
|
{
|
|
|
dokdata.Kopfzeile_generieren = false;
|
|
|
if (Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0][1]) == true) { dokdata.Kopfzeile_generieren = true; }
|
|
|
}
|
|
|
catch { }
|
|
|
|
|
|
if (dokdata.Barcode)
|
|
|
{
|
|
|
dokdata.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]);
|
|
|
dokdata.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]);
|
|
|
dokdata.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]);
|
|
|
dokdata.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]);
|
|
|
dokdata.barcode_horizontal = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bchorizontal"]);
|
|
|
dokdata.barcode_type = db.dsdaten.Tables[0].Rows[0]["BarcodeType"].ToString();
|
|
|
dokdata.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 = " + dokdata.barcode_top.ToString() + " and orig_bcpl=" + dokdata.barcode_left.ToString() + " ";
|
|
|
sql = sql + "and orig_bcw=" + dokdata.barcode_width.ToString() + " and orig_bch=" + dokdata.barcode_height.ToString();
|
|
|
db.Get_Tabledata(sql, false, true);
|
|
|
if (db.dsdaten.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
dokdata.barcode_left = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpl"]);
|
|
|
dokdata.barcode_top = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcpt"]);
|
|
|
dokdata.barcode_width = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bcw"]);
|
|
|
dokdata.barcode_height = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["bch"]);
|
|
|
}
|
|
|
if (dokdata.barcode_type == "1")
|
|
|
{
|
|
|
DB dB = new DB(connectionstring);
|
|
|
dB.clear_parameter();
|
|
|
dB.add_parameter("@dokumentid", dokumentid);
|
|
|
dB.add_parameter("@DokumentidBR", "");
|
|
|
dB.add_parameter("@BARCODEFONTNAME", "");
|
|
|
dB.add_parameter("@BARCODEFONTSIZE", "");
|
|
|
dB.add_parameter("@BarcodeKantenlaenge", "");
|
|
|
dB.Get_Tabledata("sp_get_OnDoc_barcodetype_and_value", true, false);
|
|
|
dokdata.barcode_content = dB.dsdaten.Tables[0].Rows[0][1].ToString();
|
|
|
dokdata.barcode_formatn = dB.dsdaten.Tables[0].Rows[0][3].ToString();
|
|
|
dokdata.barcode_text = dB.dsdaten.Tables[0].Rows[0][4].ToString();
|
|
|
dokdata.barcode_kantenlaenge = dB.dsdaten.Tables[0].Rows[0][5].ToString();
|
|
|
dokdata.Zusatz_Font = dB.dsdaten.Tables[0].Rows[0][6].ToString();
|
|
|
dokdata.Zusatz_FontSize = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0][7]);
|
|
|
dokdata.barcode_width = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0][8]);
|
|
|
dokdata.barcode_height = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0][9]);
|
|
|
|
|
|
//dokdata.barcode_type= dB.dsdaten.Tables[0].Rows[0][3].ToString();
|
|
|
|
|
|
sql = "select bcpt, bcpl, bcw, bch, bchorizontal from OnDocBarcodeMpping ";
|
|
|
sql = sql + "where orig_bcpt = " + dokdata.barcode_top.ToString() + " and orig_bcpl=" + dokdata.barcode_left.ToString() + " ";
|
|
|
sql = sql + "and orig_bcw=" + dokdata.barcode_width.ToString() + " and orig_bch=" + dokdata.barcode_height.ToString();
|
|
|
dB.Get_Tabledata(sql, false, true);
|
|
|
if (dB.dsdaten.Tables[0].Rows.Count > 0)
|
|
|
{
|
|
|
//Logging.Logging.Debug("Barcode-Übersteuerung" + dokdata.DokumenttypNr.ToString(), "Dokumenterstellung", "");
|
|
|
dokdata.barcode_left = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0]["bcpl"]);
|
|
|
dokdata.barcode_top = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0]["bcpt"]);
|
|
|
dokdata.barcode_width = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0]["bcw"]);
|
|
|
dokdata.barcode_height = Convert.ToInt32(dB.dsdaten.Tables[0].Rows[0]["bch"]);
|
|
|
}
|
|
|
}
|
|
|
db.Get_Tabledata("Select * from ondoc_appparams", false, true);
|
|
|
dokdata.barcode_font = db.dsdaten.Tables[0].Rows[0]["barcodefont"].ToString();
|
|
|
dokdata.barcode_fontsize = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["barcodefontsize"].ToString());
|
|
|
dokdata.Zusatz_Font = db.dsdaten.Tables[0].Rows[0]["Zusatzfont"].ToString();
|
|
|
dokdata.Zusatz_FontSize = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["ZusatzfontSize"].ToString());
|
|
|
dokdata.barcode_textposition = db.dsdaten.Tables[0].Rows[0]["barcodetextposition"].ToString(); ;
|
|
|
}
|
|
|
Model.clsdocgendata docgendata = new Model.clsdocgendata();
|
|
|
DataTable dokwertlist = new DataTable();
|
|
|
dokwertlist = db.Get_DokumentWertList("", Convert.ToInt32(dokument.VorlagenTypID), 1);
|
|
|
|
|
|
docgendata.dokumentwerte = dokwertlist;
|
|
|
docgendata.partnernr = dokument.Partnernr;
|
|
|
docgendata.inhaberadresse = "";
|
|
|
docgendata.zustelladresse = "";
|
|
|
docgendata.dokumenttypnr = dokument.VorlagenTypID;
|
|
|
docgendata.unterschriftLinks = db.Get_Mitarbeiternr(dokument.TGNrUnterschriftLinks).ToString();
|
|
|
docgendata.unterschriftRehts = db.Get_Mitarbeiternr(dokument.TGNrUnterschriftRechts).ToString();
|
|
|
docgendata.verantwortlich = db.Get_Mitarbeiternr(dokument.TGNrVerantwortlich).ToString();
|
|
|
docgendata.ersteller = db.Get_Mitarbeiternr(dokument.TGNrErsteller).ToString();
|
|
|
docgendata.team = db.Get_Teamnr(docgendata.ersteller).ToString();
|
|
|
docgendata.digitaleunterschrift = false;
|
|
|
docgendata.frormularOhneUnterschrift = dokument.OhneUnterschrift == "Yes";
|
|
|
docgendata.zustaendigkube = db.Get_Mitarbeiternr(dokument.TGNrVerantwortlich).ToString();
|
|
|
docgendata.status = "-1";
|
|
|
docgendata.dokumentdatum = DateTime.Now.ToString("dd.MM.yyyy");
|
|
|
docgendata.dokumentdatum = dokument.Dokumentdatum;
|
|
|
docgendata.frormularOhneUnterschrift = dokument.OhneUnterschrift == "Yes";
|
|
|
docgendata.bezeichnung = dokument.Bezeichnung;
|
|
|
if (paket.Result_FileType == "WORD") { docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; } else { docgendata.erstellungsart = Erstellungsart.DokumentAlsPDF; }
|
|
|
if (docgendata.verantwortlich == "0") { docgendata.verantwortlich = docgendata.ersteller; }
|
|
|
|
|
|
|
|
|
dokdata.PartnerNr = docgendata.partnernr;
|
|
|
dokdata.UseEDOKA_Values = "True";
|
|
|
dokdata.DokumenttypNr = docgendata.dokumenttypnr;
|
|
|
dokdata.Unterschrift_Links = docgendata.unterschriftLinks;
|
|
|
if (dokdata.Unterschrift_Links == "0") { dokdata.Unterschrift_Links = "-1"; }
|
|
|
dokdata.Unterschrift_Rechts = docgendata.unterschriftRehts;
|
|
|
if (dokdata.Unterschrift_Rechts == "0") { dokdata.Unterschrift_Rechts = "-1"; }
|
|
|
dokdata.Verantwortlich = docgendata.verantwortlich;
|
|
|
dokdata.Team = docgendata.team;
|
|
|
dokdata.Zustaendig = docgendata.zustaendigkube;
|
|
|
dokdata.Zustaendig = docgendata.zustaendigkube;
|
|
|
dokdata.Status = docgendata.status;
|
|
|
dokdata.Ersteller = docgendata.ersteller;
|
|
|
dokdata.DokumentDatum = docgendata.dokumentdatum;
|
|
|
dokdata.Termin = "01.01.1900";
|
|
|
dokdata.Bezeichnung = docgendata.bezeichnung;
|
|
|
dokdata.dokumentwerte = docgendata.dokumentwerte;
|
|
|
|
|
|
//Unterschriftenprüfung
|
|
|
dokdata.Form_ohne_Unterschrift = docgendata.frormularOhneUnterschrift.ToString();
|
|
|
dokdata.approval1 = 0;
|
|
|
dokdata.approval2 = 0;
|
|
|
dokdata.approved = 0;
|
|
|
if (dokdata.Form_ohne_Unterschrift == "True")
|
|
|
{
|
|
|
dokdata.Unterschrift_Links = "-1";
|
|
|
dokdata.Unterschrift_Rechts = "-1";
|
|
|
}
|
|
|
if (dokument.FaksimileUnterschrift == "Yes")
|
|
|
{
|
|
|
dokdata.As_Faksimile = "True"; dokdata.sign = true; docgendata.digitaleunterschrift = true;
|
|
|
if (dokdata.Unterschrift_Links != "-1") { dokdata.approval1 = 1; }
|
|
|
if (dokdata.Unterschrift_Rechts != "-1") { dokdata.approval2 = 1; }
|
|
|
dokdata.approved = 1;
|
|
|
docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten;
|
|
|
//if (dokdata.Unterschrift_Links != "-1" && dokdata.Unterschrift_Rechts != "-1")
|
|
|
//{
|
|
|
// if (dokdata.Ersteller == dokdata.Unterschrift_Links)
|
|
|
// {
|
|
|
// dokdata.approved = 1;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// dokdata.sign = false;
|
|
|
// dokdata.toapprove = 0;
|
|
|
// dokdata.approved = 1;
|
|
|
// dokdata.approval1 = 1;
|
|
|
// dokdata.approval2 = 1;
|
|
|
// docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten;
|
|
|
// }
|
|
|
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
// docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten;
|
|
|
// dokdata.toapprove = 1;
|
|
|
// dokdata.sign = true;
|
|
|
//}
|
|
|
|
|
|
}
|
|
|
|
|
|
dokdata.APIValues = dokument.APIValues;
|
|
|
dokdata.TextToReplace = dokument.TextToReplace;
|
|
|
|
|
|
if (dokument.PrintLogo == "Yes") { dokdata.PrintLogo = true; } else { dokdata.PrintLogo = false; }
|
|
|
if (docgendata.erstellungsart == Erstellungsart.DokumentAlsPDF) { dokdata.Result_as_PDF = "True"; } else { dokdata.Result_as_PDF = "False"; }
|
|
|
if (docgendata.digitaleunterschrift == true) { dokdata.As_Faksimile = "True"; } else { dokdata.As_Faksimile = "False"; }
|
|
|
|
|
|
dokumentid = db.Create_EDOKA_Doc(dokdata, false, "");
|
|
|
dokdata.Dokumentid = dokumentid;
|
|
|
|
|
|
//DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(this.connectionstring, OwnHost, key.ToString());
|
|
|
DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(connectionstring, "", key.ToString());
|
|
|
clsdok dok = new clsdok("", "", "", "");
|
|
|
dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata, false, 0, false, false);
|
|
|
db.Save_To_DB(dokumentid, "", dok.dokument);
|
|
|
dokdata = null;
|
|
|
docgendata = null;
|
|
|
db = null;
|
|
|
Generator = null;
|
|
|
dok = null;
|
|
|
return dokumentid;
|
|
|
}
|
|
|
|
|
|
|
|
|
static readonly Random _random = new Random();
|
|
|
static string RandomString(int size, bool lowerCase = false)
|
|
|
{
|
|
|
var builder = new StringBuilder(size);
|
|
|
|
|
|
// Unicode/ASCII Letters are divided into two blocks
|
|
|
// (Letters 65–90 / 97–122):
|
|
|
// The first group containing the uppercase letters and
|
|
|
// the second group containing the lowercase.
|
|
|
|
|
|
// char is a single Unicode character
|
|
|
char offset = lowerCase ? 'a' : 'A';
|
|
|
const int lettersOffset = 26; // A...Z or a..z: length=26
|
|
|
|
|
|
for (var i = 0; i < size; i++)
|
|
|
{
|
|
|
var @char = (char)_random.Next(offset, offset + lettersOffset);
|
|
|
builder.Append(@char);
|
|
|
}
|
|
|
|
|
|
return lowerCase ? builder.ToString().ToLower() : builder.ToString();
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|