diff --git a/API_NetFramework/Controllers/ArchivController.cs b/API_NetFramework/Controllers/ArchivController.cs index b5c5f1342..8ac687d6d 100644 --- a/API_NetFramework/Controllers/ArchivController.cs +++ b/API_NetFramework/Controllers/ArchivController.cs @@ -330,6 +330,7 @@ namespace API_NetFramework.Controllers onbasedoc.attributes.Add(na); } onbasedoc.dokumentDatei = dok.dokument; + if (pdfdoc != "") { @@ -712,6 +713,7 @@ namespace API_NetFramework.Controllers 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(); foreach (System.Data.DataRow rw in db.dsdaten.Tables[1].Rows) @@ -811,6 +813,8 @@ namespace API_NetFramework.Controllers oba.Returnaddress = versandpaket.GASAdresse; oba.O2ODochandle = ""; oba.Status = ""; + oba.ReferenceId = versandpaket.ReferenceID; + //if (oba.GASCouvert == "") { oba.GASCouvert = "false"; } else { oba.GASCouvert = "true"; } foreach (Versanddokument vd in versandpaket.Dokument) { @@ -828,7 +832,7 @@ namespace API_NetFramework.Controllers oba.Returnaddress = versandpaket.GASAdresse; oba.O2ODochandle = ""; oba.Status = ""; - + oba.ReferenceId = versandpaket.ReferenceID; foreach (Versanddokument vd in versandpaket.Dokument) { @@ -908,6 +912,7 @@ namespace API_NetFramework.Controllers onbasedoc.dokumentDatum = DateTime.Now.ToString("dd.MM.yyyy"); onbasedoc.dokumentDatei = versandpaket.finaldoc; onbasedoc.dateiTyp = "PDF"; + onbasedoc.ReferenceId = versandpaket.ReferenceID; onbasedoc.attributes = new List(); if (oba.GASCouvert == "") { oba.GASCouvert = "false"; } else { oba.GASCouvert = "true"; } diff --git a/API_NetFramework/Controllers/DocumentController.cs b/API_NetFramework/Controllers/DocumentController.cs index 4d7bd2c20..a52026209 100644 --- a/API_NetFramework/Controllers/DocumentController.cs +++ b/API_NetFramework/Controllers/DocumentController.cs @@ -36,6 +36,9 @@ using Newtonsoft.Json.Linq; using System.Runtime.Serialization.Json; using System.Web.Http.Results; using Syncfusion.DocIO.DLS.XML; +using System.Reflection.Emit; +using System.Web.UI.WebControls.WebParts; +using System.Diagnostics; namespace API_NetFramework.Controllers @@ -105,6 +108,85 @@ namespace API_NetFramework.Controllers } + [HttpPost] + [Route("API/DokumentGenerator")] + public IHttpActionResult DokumentGenerator() + { + APIErrorSimple apireturn = new APIErrorSimple(); + APIOK apiok = new APIOK(); + try + { + guid = Guid.NewGuid().ToString(); + Logging.APIDocLog.Info("CreateDoks Start", "CreateDoks", guid, ""); + bool hasattachment = false; + if (SecuringWebApiUsingApiKey.Middleware.ApiKeyMiddleware.Authorized((HttpRequestMessage)Request, tokenfunction) == false) + { + apireturn.code = "ONDOC-ERR-CreateDoks-01"; + apireturn.status = "401"; + apireturn.message = "Invalid Token or API-Key"; + apireturn.traceid = ""; + apireturn.field = ""; + + try + { + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); + } + catch + { + return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + } + finally { apireturn = null; apiok = null; }; + } + HttpRequestMessage rmsg = (HttpRequestMessage)Request; + + string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString(); + string imagepath = System.Configuration.ConfigurationManager.AppSettings["VSImagePath"].ToString(); + + var key = rmsg.Headers.Authorization.Parameter.ToString(); + string result = Request.Content.ReadAsStringAsync().Result; + dynamic dataj = JsonConvert.DeserializeObject(result); + try + { + string type = dataj.Dokumente.ToString(); + if (!String.IsNullOrEmpty(type)) + { + return CreateDoks(); + } + } + catch { } + try + { + string type = dataj.TGNrErsteller.ToString(); + if (!String.IsNullOrEmpty(type)) + { + return CreateDok(); + } + } + catch { } + + return CreateCLM(); + + } + catch + { + apireturn.code = "DokumentGenerator"; + apireturn.status = "401"; + apireturn.message = "Invalid JSON"; + apireturn.traceid = ""; + apireturn.field = ""; + try + { + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); + } + catch { return BadRequest(); } + + } + finally { apiok = null;apireturn = null; } + + } + [HttpPost] [Route("API/CreateDoks")] public IHttpActionResult CreateDoks() @@ -125,7 +207,8 @@ namespace API_NetFramework.Controllers apireturn.field = ""; try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } catch { @@ -162,9 +245,14 @@ namespace API_NetFramework.Controllers paket = null; try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); + } + catch + { + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } - catch { return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); } finally { apireturn = null; apiok = null; }; } @@ -184,7 +272,7 @@ namespace API_NetFramework.Controllers clsDocData dokdata = new clsDocData(); Model.clsdocgendata docgendata = new Model.clsdocgendata(); DocCreate doccreate = new DocCreate(); - + OnDocAPI_NetFramework.Helper.Helper.CopyProperties(dokdata, docgendata); OnDocAPI_NetFramework.Helper.Helper.CopyProperties(dokument, doccreate); dokument.DokumentID = gendoc(ref doccreate, ref dokdata, ref docgendata, key.ToString()); @@ -209,74 +297,20 @@ namespace API_NetFramework.Controllers paket = null; try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } catch { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } finally { apireturn = null; apiok = null; }; } - if (paket.ResultSender == "true") - { - List Dokumente = new List(); - clsVersandstrasse vs1 = new clsVersandstrasse(); - foreach (APIDokument dokumennt in paket.Dokumente) - { - if (dokumennt.DokumentID.Contains("ATT")) - { - APIDokumentResult aPIDokumentResult = new APIDokumentResult(); - aPIDokumentResult.dokumentid = dokumennt.DokumentID; - aPIDokumentResult.dokument = dokumennt.PDFDoc; - Dokumente.Add(aPIDokumentResult); - } - else - { - APIDokumentResult aPIDokumentResult = new APIDokumentResult(); - aPIDokumentResult.dokumentid = dokumennt.DokumentID; - - if (paket.ResultFileType != "PDF") - { - DOCGEN.DocGet gd = new DocGet(connectionstring); - clsdok dok = new clsdok("", "", "", ""); - dok = gd.GetDoc(dokumennt.DokumentID); - aPIDokumentResult.dokument = dok.dokument; - dok = null; - gd = null; - } - else - { - aPIDokumentResult.dokument = vs1.Prepare_PDF(dokumennt.DokumentID.ToString(), "", connectionstring, OwnHost, key.ToString(), imagepath); - } - Dokumente.Add(aPIDokumentResult); - } - } - vs1 = null; - Dokumente = null; - string json = System.Text.Json.JsonSerializer.Serialize(Dokumente); - paket = null; - apiok.code = "200"; - apiok.status = "200"; - apiok.message = ""; - apiok.documentid = ""; - apiok.file = json; - try - { - return Ok(Newtonsoft.Json.JsonConvert.SerializeObject(apiok)); - } - catch (Exception e) - { - return Content(HttpStatusCode.InternalServerError, e.Message); - } - finally - { - apiok = null; - } - return Ok(json); - } + if (paket.Versandstrasse == "true") { @@ -304,6 +338,7 @@ namespace API_NetFramework.Controllers Versanddokument vd = new Versanddokument(dokumennt.DokumentID.ToString(), dokumennt.PartnerNr.ToString() + " - " + dokumennt.Bezeichnung, partnernr); vd.Partnernr = dokumennt.PartnerNr; vd.dokument = vsdoc; + vdoc.Add(vd); } @@ -329,30 +364,58 @@ namespace API_NetFramework.Controllers vp.GASSize = paket.GASCouvert; vp.Versandoption = paket.VersandOption; vp.Dokument = vdoc; - + vp.ReferenceID = paket.Reference; vp.finaldoc = stapel; if (vp.Dokument.Count > 1) { vp.send_onbase_doc = false; } else { vp.send_onbase_doc = true; } vp.verified = true; DB db = new DB(connectionstring); int manr = db.Get_Mitarbeiternr(paket.VersandVerantwortlich.ToString()); - send_vs(ref vp, manr.ToString(), paket.VersandDirekt == "true", OwnHost, key.ToString(), "", paket.Dokumente[0].PartnerNr, paket, ref apireturn); + if (paket.ResultSender == "true") + { + apiok.code = "200"; + apiok.status = "200"; + apiok.message = ""; + apiok.documentid = ""; + apiok.file = stapel; + try + { + return Ok((apiok)); + } + catch { } + finally { + db = null; + streams = null; + vs = null; + vp = null; + vdoc = null; + + } + } + else + { + + send_vs(ref vp, manr.ToString(), paket.VersandDirekt == "true", OwnHost, key.ToString(), "", paket.Dokumente[0].PartnerNr, paket, ref apireturn); + } db = null; streams = null; vs = null; vp = null; + vdoc = null; } catch (Exception ex) { streams = null; vs = null; vp = null; + vdoc = null; apireturn.code = "ONDOC-ERR-PaketVersandstrasse"; apireturn.status = "400"; apireturn.message = ex.Message; apireturn.traceid = ""; apireturn.field = ""; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } } Logging.APIDocLog.Info("Dokumentpaket abgeschlossen", "CreateDoks", guid, ""); @@ -361,7 +424,8 @@ namespace API_NetFramework.Controllers apireturn.message = "Paket generiert"; apireturn.traceid = ""; apireturn.field = "GUID=" + guid; - return Ok(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return Ok(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Ok((apireturn)); } catch (Exception ex) { @@ -372,9 +436,10 @@ namespace API_NetFramework.Controllers apireturn.message = ex.Message; apireturn.traceid = ""; apireturn.field = ""; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } - finally { apireturn = null; apiok = null; }; + finally { apireturn = null; apiok = null;}; } [HttpPost] @@ -396,11 +461,13 @@ namespace API_NetFramework.Controllers apireturn.field = ""; try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } catch { - return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + //return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + return Content(HttpStatusCode.BadRequest, apireturn); } finally { apireturn = null; apiok = null; }; } @@ -432,19 +499,58 @@ namespace API_NetFramework.Controllers apireturn.message = CheckResult; apireturn.traceid = ""; apireturn.field = ""; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } clsDocData dokdata = new clsDocData(); Model.clsdocgendata docgendata = new Model.clsdocgendata(); string dokumentid = gendoc(ref doccreate, ref dokdata, ref docgendata, key.ToString()); + dokumentid = dokdata.Dokumentid; + if (doccreate.ResultSender == "true") + { + DocGet dg = new DocGet(this.connectionstring); + clsdok dok = new clsdok("", "", "", ""); + Logging.APIDocLog.Info("Dokument return to sender", "CreateDok", guid, ""); + if (doccreate.ResultFileType == "PDF") + { + dok = dg.GetDocAsPDF(dokumentid); + dok.extension = "pdf"; + dok.doktype = "P"; + apiok.file = dok.dokument; + apiok.code = "OK"; + apiok.status = "200"; + apiok.documentid = dokumentid; + dg = null; + dok = null; + dokdata = null; + docgendata = null; + + return Ok(apiok); + } + else + { + dok = dg.GetDoc(dokumentid); + apiok.file = dok.dokument; + apiok.code = "OK"; + apiok.status = "200"; + apiok.documentid = dokumentid; + dg = null; + dok = null; + dokdata = null; + docgendata = null; + return Ok(apiok); + } + + } if (doccreate.Versandstrasse == "true") { clsVersandstrasse vs = new clsVersandstrasse(); string vsdoc = ""; vsdoc = vs.Prepare_PDF(dokumentid, "", connectionstring, OwnHost, key.ToString(), imagepath); - + Versandpaket vp = new Versandpaket(); + vp.PaketNr = Guid.NewGuid().ToString(); vp.partnernr = Convert.ToInt32(docgendata.partnernr); vp.GASAdresse = doccreate.GASAdresse; if (vp.GASAdresse.ToString().Trim() == "") { vp.GAS = ""; } else { vp.GAS = "true"; } @@ -461,9 +567,11 @@ namespace API_NetFramework.Controllers if (apireturn.status != "") { vp = null; + vdoc = null; doccreate = null; dokdata = null; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } } if (doccreate.ConfirmationMail == "true") @@ -490,7 +598,8 @@ namespace API_NetFramework.Controllers apireturn.message = "Dokument generiert"; apireturn.traceid = ""; apireturn.field = "GUID=" + guid; - return Ok(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + + return Ok((apireturn)); } catch (Exception ex) { @@ -501,22 +610,45 @@ namespace API_NetFramework.Controllers apireturn.message = ex.Message; apireturn.traceid = ""; apireturn.field = ""; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } finally { apireturn = null; apiok = null; }; } - + private string Get_OnDoc_Value(string type, string inputvalue1,string inputvalue2) + { + Database.DB db = new DB(connectionstring); + db.clear_parameter(); + db.add_parameter("@fieldtype", type); + db.add_parameter("@inputvalue1", inputvalue1); + db.add_parameter("@inputvalue2", inputvalue2); + try + { + db.Get_Tabledata("ondoc_get_clm_value", true, false); + return db.dsdaten.Tables[0].Rows[0][0].ToString(); + } + catch + { + return ""; + } + finally + { + db = null; + } + } + + [HttpPost] [Route("API/CreateCLM")] public IHttpActionResult CreateCLM() { APIErrorSimple apireturn = new APIErrorSimple(); APIOK apiok = new APIOK(); - - Listclmdocitemlist = new List(); - - + + List clmdocitemlist = new List(); + string clmdokumentid = ""; + dynamic dataj = null; try @@ -532,15 +664,18 @@ namespace API_NetFramework.Controllers apireturn.field = ""; try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return Content(HttpStatusCode.BadRequest, apireturn); + return Content(HttpStatusCode.BadRequest, apireturn); } catch { - return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + //return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + return Content(HttpStatusCode.BadRequest, apireturn); } - finally { apireturn = null; apiok = null;clmdocitemlist = null;dataj = null; }; + finally { apireturn = null; apiok = null; clmdocitemlist = null; dataj = null; }; } - + HttpRequestMessage rmsg = (HttpRequestMessage)Request; string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString(); string imagepath = System.Configuration.ConfigurationManager.AppSettings["VSImagePath"].ToString(); @@ -548,13 +683,13 @@ namespace API_NetFramework.Controllers var key = rmsg.Headers.Authorization.Parameter.ToString(); string result = Request.Content.ReadAsStringAsync().Result; - + dataj = JsonConvert.DeserializeObject(result); Logging.APIDocLog.Info("Input JSON", "CreateCLM", guid, result); var jo = JObject.Parse(Request.Content.ReadAsStringAsync().Result); var x = dataj.Produkt; - Console.WriteLine(dataj.Bp.Zustaendiger.TgNummer); + //Console.WriteLine(dataj.Bp.Zustaendiger.TgNummer); var valueTuples = GetNodes(jo).ToList(); foreach (var valueTuple in valueTuples) { @@ -568,14 +703,81 @@ namespace API_NetFramework.Controllers } Database.DB db = new Database.DB(connectionstring); - db.Get_Tabledata("Select * from vorlagenfeld where dokumenttypnr=" + dataj.Dokumenttyp.ToString() + " and aktiv=1 and ess_field_class_id<>0", false, true); + + + db.clear_parameter(); + db.add_parameter("@dokumenttypnr", dataj.Dokumenttyp.ToString()); + db.Get_Tabledata("sp_get_ondoc_clm_vorlagenfeld", true, false); + //db.Get_Tabledata("Select * from vorlagenfeld where dokumenttypnr=" + dataj.Dokumenttyp.ToString() + " and aktiv=1 and ess_field_class_id<>0", false, true); foreach (DataRow dr in db.dsdaten.Tables[0].Rows) { - + if (dr["ess_field_class_id"].ToString() == "11") + { + CLMDocItem d = new CLMDocItem(); + d.itemname = "Logo"; + d.itemtag = ""; + d.itemvalue = "Logo"; + d.type = "11"; + d.doclinkname = ""; + d.done = true; + d.bmstart = dr["beginntextmarke"].ToString(); + d.bmend = dr["endetextmarke"].ToString(); + d.field = dr["feldname"].ToString(); + d.top = dr["ess_img_top"].ToString(); + d.left = dr["ess_img_left"].ToString(); + d.width = dr["ess_img_width"].ToString(); + d.height = dr["ess_img_height"].ToString(); + clmdocitemlist.Add(d); + + } + if (dr["ess_field_class_id"].ToString() == "17") + { + CLMDocItem d = new CLMDocItem(); + d.itemname = "DataMatrix"; + d.itemtag = ""; + d.itemvalue = dr["ess_feldname"].ToString(); + d.type = "17"; + d.doclinkname = ""; + clmdokumentid = db.get_dbkey("Dokument"); + d.itemvalue = get_datamatrix_value(d.itemvalue,clmdokumentid, ref clmdocitemlist); + d.done = true; + d.bmstart = dr["beginntextmarke"].ToString(); + d.bmend = dr["endetextmarke"].ToString(); + d.field = dr["feldname"].ToString(); + d.top = dr["ess_img_top"].ToString(); + d.left = dr["ess_img_left"].ToString(); + d.width = dr["ess_img_width"].ToString(); + d.height = dr["ess_img_height"].ToString(); + clmdocitemlist.Add(d); + + } + if (dr["ess_field_class_id"].ToString() == "18") + { + CLMDocItem d = new CLMDocItem(); + d.itemname = "PZ"; + d.itemtag = ""; + d.type = "18"; + + d.itemvalue = pruefziffer(get_item_value(dr["ess_feldname"].ToString(), ref clmdocitemlist)); + d.doclinkname = ""; + d.done = true; + d.bmstart = dr["beginntextmarke"].ToString(); + d.bmend = dr["endetextmarke"].ToString(); + d.field = dr["feldname"].ToString(); + d.top = dr["ess_img_top"].ToString(); + d.left = dr["ess_img_left"].ToString(); + d.width = dr["ess_img_width"].ToString(); + d.height = dr["ess_img_height"].ToString(); + clmdocitemlist.Add(d); + } + foreach (CLMDocItem di in clmdocitemlist) { - if ("$." + di.itemname == dr["ess_feldname"].ToString()) + + if ("$." + di.itemname == dr["ess_feldname"].ToString() && di.done == false) { + + di.done = true; di.bmstart = dr["beginntextmarke"].ToString(); di.bmend = dr["endetextmarke"].ToString(); di.field = dr["feldname"].ToString(); @@ -584,11 +786,52 @@ namespace API_NetFramework.Controllers di.width = dr["ess_img_width"].ToString(); di.height = dr["ess_img_height"].ToString(); di.type = dr["ess_field_class_id"].ToString(); - + switch (di.type.ToString()) + { + case "7": //Dokumentversion + di.itemvalue = Get_OnDoc_Value("7", di.itemvalue.ToString(), ""); + break; + case "8": //Bankbetriebseinheit + di.itemvalue = Get_OnDoc_Value("8", di.itemvalue.ToString(), ""); + break; + case "9": //Allg. Telefonnummer + di.itemvalue = Get_OnDoc_Value("9", di.itemvalue.ToString(), ""); + break; + case "10": //Allg Faxnummer + di.itemvalue = Get_OnDoc_Value("10", di.itemvalue.ToString(), ""); + break; + case "11": //Logo + break; + case "13": //Vorname + di.itemvalue = Get_OnDoc_Value("13", di.itemvalue.ToString(), ""); + break; + case "14": //MA-Name + di.itemvalue = Get_OnDoc_Value("14", di.itemvalue.ToString(), ""); + break; + case "15": //MA-E-Mail + di.itemvalue = Get_OnDoc_Value("15", di.itemvalue.ToString(), ""); + break; + case "16": //MA-Direktwahl + di.itemvalue = Get_OnDoc_Value("16", di.itemvalue.ToString(), ""); + + break; + case "17": //Datamatrix + string a = ""; + + break; + case "18": //Pruefziffer + di.itemvalue = pruefziffer(di.itemvalue); + break; + default: + break; + + } + } - + } + if (dr["ess_feldname"].ToString().Contains("@T:")) { string[] arr = dr["ess_feldname"].ToString().Split(new string[] { "$Format:" }, StringSplitOptions.None); @@ -598,7 +841,7 @@ namespace API_NetFramework.Controllers string format = ""; get_tabledata(dr["ess_feldname"].ToString(), ref clmdocitemlist, out value, out tablename); - + CLMDocItem di = new CLMDocItem(); di.bmstart = dr["beginntextmarke"].ToString(); di.bmend = dr["endetextmarke"].ToString(); @@ -618,8 +861,9 @@ namespace API_NetFramework.Controllers catch { di.format = ""; } clmdocitemlist.Add(di); } - + } + db = null; clmdocitemlist.RemoveAll((y) => string.IsNullOrEmpty(y.type)); string CheckResult = ""; @@ -633,11 +877,12 @@ namespace API_NetFramework.Controllers apireturn.message = CheckResult; apireturn.traceid = ""; apireturn.field = ""; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } clsdok dok = new clsdok("", "", "", ""); - - gendocCLM(ref clmdocitemlist,ref dataj, ref dok,key); + + gendocCLM(ref clmdocitemlist, ref dataj, ref dok, key,clmdokumentid); Logging.APIDocLog.Info("Dokument abgeschlossen", "CreateDok", guid, ""); apiok.code = "200"; @@ -656,7 +901,9 @@ namespace API_NetFramework.Controllers apireturn.message = ex.Message; apireturn.traceid = ""; apireturn.field = ""; - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } finally { apireturn = null; apiok = null; clmdocitemlist = null; dataj = null; }; } @@ -827,7 +1074,7 @@ namespace API_NetFramework.Controllers catch (Exception ex) { return ex.Message; } } - + private string CreateDoc_Verify(ref DocCreate doccreate) { try @@ -870,20 +1117,23 @@ namespace API_NetFramework.Controllers if (doccreate.Versandstrasse == "true") { if (ParamCheck("doktypversandstrasse", doccreate.VorlagenTypID) == false) { return "Vorlagentyp " + doccreate.VorlagenTypID + " ist nicht für die Versandstrasse konfiguriert"; } - if (doccreate.TGNrUnterschriftLinks.ToLower() != "-1" && doccreate.TGNrUnterschriftRechts.ToString() != "-1") { return "Versandstrasse mit zwei Unterschriften kann nicht automatisch angesteuert werden"; } + //if (doccreate.TGNrUnterschriftLinks.ToLower() != "-1" && doccreate.TGNrUnterschriftRechts.ToLower() != "-1") + //{ + // return "Versandstrasse mit zwei Unterschriften kann nicht automatisch angesteuert werden"; + //} if (doccreate.VersandOption == "") { return "Versandoption fehlt (A_Post, B1_Post, B2_Post"; } } return ""; } catch (Exception ex) { return ex.Message; } } - private string CLM_Verify(ref List clmdocitemlist,ref string json) + private string CLM_Verify(ref List clmdocitemlist, ref string json) { try { dynamic dataj = JsonConvert.DeserializeObject(json); - if (!ParamCheck("dokumenttyp",dataj.Dokumenttyp.ToString())) { return "Vorlagentyp " + dataj.Dokumenttyp.ToString() + " ist ungültig"; } - if (dataj.Id.ToString()=="") { return "ID fehlt" ; } + if (!ParamCheck("dokumenttyp", dataj.Dokumenttyp.ToString())) { return "Vorlagentyp " + dataj.Dokumenttyp.ToString() + " ist ungültig"; } + if (dataj.Id.ToString() == "") { return "ID fehlt"; } return ""; } catch (Exception ex) { return ex.Message; } @@ -951,200 +1201,207 @@ namespace API_NetFramework.Controllers } private string gendoc(ref DocCreate doccreate, ref clsDocData dokdata, ref Model.clsdocgendata docgendata, string key) { - string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString(); - string imagepath = System.Configuration.ConfigurationManager.AppSettings["VSImagePath"].ToString(); + + string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString(); + string imagepath = System.Configuration.ConfigurationManager.AppSettings["VSImagePath"].ToString(); - string dokumentid = ""; - ; - Database.DB db = new DB(connectionstring); - db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + doccreate.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; } + string dokumentid = ""; + ; + Database.DB db = new DB(connectionstring); + db.Get_Tabledata("Select * from dokumenttyp where dokumenttypnr=" + doccreate.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 { } + 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) + 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"]); - } - 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(); - + 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) + 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"]); + 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(); ; } - 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(); ; - } - DataTable dokwertlist = new DataTable(); - dokwertlist = db.Get_DokumentWertList("", Convert.ToInt32(doccreate.VorlagenTypID), 1); + DataTable dokwertlist = new DataTable(); + dokwertlist = db.Get_DokumentWertList("", Convert.ToInt32(doccreate.VorlagenTypID), 1); - docgendata.dokumentwerte = dokwertlist; - docgendata.partnernr = doccreate.PartnerNr; - docgendata.inhaberadresse = ""; - docgendata.zustelladresse = ""; - docgendata.dokumenttypnr = doccreate.VorlagenTypID; - docgendata.unterschriftLinks = db.Get_Mitarbeiternr(doccreate.TGNrUnterschriftLinks).ToString(); - docgendata.unterschriftRehts = db.Get_Mitarbeiternr(doccreate.TGNrUnterschriftRechts).ToString(); - docgendata.verantwortlich = db.Get_Mitarbeiternr(doccreate.TGNrVerantwortlich).ToString(); - docgendata.ersteller = db.Get_Mitarbeiternr(doccreate.TGNrErsteller).ToString(); - docgendata.team = db.Get_Teamnr(docgendata.ersteller).ToString(); - docgendata.digitaleunterschrift = false; - docgendata.frormularOhneUnterschrift = doccreate.OhneUnterschrift == "true"; - docgendata.zustaendigkube = db.Get_Mitarbeiternr(doccreate.TGNrVerantwortlich).ToString(); - docgendata.status = "-1"; - docgendata.dokumentdatum = DateTime.Now.ToString("dd.MM.yyyy"); - docgendata.dokumentdatum = doccreate.Dokumentdatum; - docgendata.frormularOhneUnterschrift = doccreate.OhneUnterschrift == "true"; - docgendata.bezeichnung = doccreate.Bezeichnung; - if (doccreate.ResultFileType == "WORD") { docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; } else { docgendata.erstellungsart = Erstellungsart.DokumentAlsPDF; } - if (docgendata.verantwortlich == "0") { docgendata.verantwortlich = docgendata.ersteller; } + docgendata.dokumentwerte = dokwertlist; + docgendata.partnernr = doccreate.PartnerNr; + docgendata.inhaberadresse = ""; + docgendata.zustelladresse = ""; + docgendata.dokumenttypnr = doccreate.VorlagenTypID; + docgendata.unterschriftLinks = db.Get_Mitarbeiternr(doccreate.TGNrUnterschriftLinks).ToString(); + docgendata.unterschriftRehts = db.Get_Mitarbeiternr(doccreate.TGNrUnterschriftRechts).ToString(); + docgendata.verantwortlich = db.Get_Mitarbeiternr(doccreate.TGNrVerantwortlich).ToString(); + docgendata.ersteller = db.Get_Mitarbeiternr(doccreate.TGNrErsteller).ToString(); + docgendata.team = db.Get_Teamnr(docgendata.ersteller).ToString(); + docgendata.digitaleunterschrift = false; + docgendata.frormularOhneUnterschrift = doccreate.OhneUnterschrift == "true"; + docgendata.zustaendigkube = db.Get_Mitarbeiternr(doccreate.TGNrVerantwortlich).ToString(); + docgendata.status = "-1"; + docgendata.dokumentdatum = DateTime.Now.ToString("dd.MM.yyyy"); + docgendata.dokumentdatum = doccreate.Dokumentdatum; + docgendata.frormularOhneUnterschrift = doccreate.OhneUnterschrift == "true"; + docgendata.bezeichnung = doccreate.Bezeichnung; + if (doccreate.ResultFileType == "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; + 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"; - } + //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 (doccreate.FaksimileUnterschrift == "true") { 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; } - if (dokdata.Unterschrift_Links != "-1" && dokdata.Unterschrift_Rechts == "-1") - { - if (dokdata.Ersteller == dokdata.Unterschrift_Links) - { - dokdata.approved = 1; - } - else - { - dokdata.sign = false; - dokdata.toapprove = 1; - dokdata.approved = 0; - dokdata.approval1 = 0; - dokdata.approval2 = 1; - docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; - } - - } - else - { - docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; - dokdata.toapprove = 1; - dokdata.sign = false; - } - + dokdata.approved = 1; } + //if ((dokdata.Unterschrift_Links != "-1" && dokdata.Unterschrift_Rechts == "-1") || doccreate.fromAPI==true) + // { + // if (dokdata.Ersteller == dokdata.Unterschrift_Links) + // { + // dokdata.approved = 1; + // } + // else + // { + // dokdata.sign = false; + // dokdata.toapprove = 1; + // dokdata.approved = 0; + // dokdata.approval1 = 0; + // dokdata.approval2 = 1; + // docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; + // } - dokdata.APIValues = doccreate.APIValues; - dokdata.TextToReplace = doccreate.TextToReplace; + // } + // else + // { + // docgendata.erstellungsart = Erstellungsart.DokumentBearbeiten; + // dokdata.toapprove = 1; + // dokdata.sign = false; + // } - if (doccreate.PrintLogo == "true") { 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; + dokdata.APIValues = doccreate.APIValues; + dokdata.TextToReplace = doccreate.TextToReplace; - DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(this.connectionstring, OwnHost, 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); - APILogging.Log((HttpRequestMessage)Request, "Ende GenDoc DokumentID:" + dokumentid, LogLevelType.Debug); - APILogging.DocLog((HttpRequestMessage)Request, doccreate.PartnerNr, "Dokument über API erstellt", dokumentid, LogLevelType.Info); - return ""; + if (doccreate.PrintLogo == "true") { 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()); + clsdok dok = new clsdok("", "", "", ""); + dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata, false, 0, false, false); + db.Save_To_DB(dokumentid, "", dok.dokument); + APILogging.Log((HttpRequestMessage)Request, "Ende GenDoc DokumentID:" + dokumentid, LogLevelType.Debug); + APILogging.DocLog((HttpRequestMessage)Request, doccreate.PartnerNr, "Dokument über API erstellt", dokumentid, LogLevelType.Info); + Generator = null; + db = null; + return ""; + } - private void gendocCLM(ref List clmdocitemlist, ref dynamic dataj, ref clsdok dok, string key) + private void gendocCLM(ref List clmdocitemlist, ref dynamic dataj, ref clsdok dok, string key, string clmdokumentid) { string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString(); string imagepath = System.Configuration.ConfigurationManager.AppSettings["VSImagePath"].ToString(); clsDocData dokdata = new clsDocData(); - string dokumentid = ""; + string dokumentid = clmdokumentid; + dokdata.Dokumentid = clmdokumentid; string bezeichnung = ""; ; Database.DB db = new DB(connectionstring); @@ -1228,8 +1485,8 @@ namespace API_NetFramework.Controllers dokdata.barcode_textposition = db.dsdaten.Tables[0].Rows[0]["barcodetextposition"].ToString(); ; } clsdocgendata docgendata = new clsdocgendata(); - - docgendata.partnernr = dataj.Bp.Partnernummer.ToString().Replace(".",""); + + docgendata.partnernr = dataj.Bp.Partnernummer.ToString().Replace(".", ""); docgendata.inhaberadresse = ""; docgendata.zustelladresse = ""; docgendata.dokumenttypnr = dataj.Dokumenttyp.ToString(); @@ -1264,21 +1521,22 @@ namespace API_NetFramework.Controllers dokdata.Bezeichnung = docgendata.bezeichnung; dokdata.dokumentwerte = docgendata.dokumentwerte; - List deflist = new List(); + List deflist = new List(); foreach (CLMDocItem item in clmdocitemlist) { - if (item.type == null || item.type == String.Empty || item.type=="") + if (item.type == null || item.type == String.Empty || item.type == "") { - }else + } + else { deflist.Add(item); } } - + dokdata.CLMDocItems = deflist; - + //Unterschriftenprüfung dokdata.Form_ohne_Unterschrift = docgendata.frormularOhneUnterschrift.ToString(); dokdata.approval1 = 0; @@ -1291,25 +1549,26 @@ namespace API_NetFramework.Controllers } 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"; } - // dokdata.dokumentwerte = ToDataTable - dokumentid = db.Create_EDOKA_Doc(dokdata, false, ""); + // dokdata.dokumentwerte = ToDataTable + dokumentid = db.Create_EDOKA_Doc(dokdata, false, clmdokumentid); dokdata.Dokumentid = dokumentid; - + dokdata.Erstellung_in_Office = false; DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(this.connectionstring, OwnHost, key.ToString()); dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata, false, 0, false, false); DocGet dget = new DocGet(this.connectionstring); dok.dokument = dget.Convert_Word_To_PDF(dok.dokument); - // db.Save_To_DB(dokumentid, "", dok.dokument); + // db.Save_To_DB(dokumentid, "", dok.dokument); - // dok = dget.GetDocAsPDF(dokumentid); + // dok = dget.GetDocAsPDF(dokumentid); dok.extension = "pdf"; dok.doktype = "P"; - if (System.Configuration.ConfigurationManager.AppSettings["CLMSaveOnDoc"].ToString() == "True") + if (System.Configuration.ConfigurationManager.AppSettings["CLMSaveOnDoc"].ToString() == "True" || clmdokumentid != "") { db.Save_To_DB(dokumentid, "", dok.dokument); - } else + } + else { db.clear_parameter(); db.add_parameter("@dokumentid", dokumentid); @@ -1322,10 +1581,10 @@ namespace API_NetFramework.Controllers APILogging.Log((HttpRequestMessage)Request, "Ende GenDoc DokumentID:" + dokumentid, LogLevelType.Debug); APILogging.DocLog((HttpRequestMessage)Request, docgendata.partnernr.ToString(), "Dokument über API erstellt", dokumentid, LogLevelType.Info); db = null; - + } - + private void send_vs(ref Versandpaket vp, string mitarbeiternr, bool direktversenden, string url, string key, string dokumentid, string partnernr, DokumentCreate doccreate, ref APIErrorSimple apireturn) { string jsonstring = JsonConvert.SerializeObject(vp); @@ -1389,6 +1648,7 @@ namespace API_NetFramework.Controllers dr1[3] = ""; if (dc.PDFDoc != "") { dr1[3] = dc.PDFDoc; } + dr1[4] = true; db.daten.Tables[0].Rows.Add(dr1); } } @@ -1480,9 +1740,76 @@ namespace API_NetFramework.Controllers } - #endregion + private string get_item_value(string inhalt, ref List clmdocitemlist) + { + string result = ""; + try + { + foreach (CLMDocItem di in clmdocitemlist) + { + if (di.itemname == inhalt.Replace("$.","")) + { + result= di.itemvalue; + break; + } + } + return result; + } + catch + { + return ""; + } + } + private string get_datamatrix_value(string inhalt,string clmdokumentid, ref List clmdocitemlist) + { + string datamatrixstring = ""; + string[] parts= inhalt.Split('$'); + foreach (string part in parts) + { - } + if (part.Contains("&")) + { + if (part.Replace("&", "") == "DokumentID") + { + if (datamatrixstring.Length > 0) { datamatrixstring = datamatrixstring + "$"; } + datamatrixstring = datamatrixstring + clmdokumentid.Replace("OFFEDK", ""); + } + foreach (CLMDocItem di in clmdocitemlist) + { + if (di.itemname == part.Replace("&", "")) + { + if (datamatrixstring.Length > 0) { datamatrixstring = datamatrixstring + "$"; } + datamatrixstring = datamatrixstring + di.itemvalue; + } + + } + } + else + { + if (datamatrixstring.Length > 0) { datamatrixstring = datamatrixstring + "$"; } + datamatrixstring = datamatrixstring + part; + } + } + + return datamatrixstring; + } + private string pruefziffer(string value) + { + int[] row = new int[] { 0, 9, 4, 6, 8, 2, 7, 1, 3, 5 }; + int uebertrag = 0; + foreach (char c in value.Replace(".", "")) + { + int digit = int.Parse("" + c); + int index = (uebertrag + digit) % 10; + uebertrag = row[index]; + } + int checkDigit = (10 - uebertrag) % 10; + return checkDigit.ToString(); + } + + #endregion + + } public static class DataTableHelper { public static DataTable ToDataTable(List items) diff --git a/API_NetFramework/Controllers/JsonController.cs b/API_NetFramework/Controllers/JsonController.cs index 6426b66af..dda5d2b10 100644 --- a/API_NetFramework/Controllers/JsonController.cs +++ b/API_NetFramework/Controllers/JsonController.cs @@ -120,19 +120,10 @@ ELSE FileName = $"{dto.Key}.pdf" }; response.Content.Headers.ContentLength = pdfBytes.Length; - if (System.IO.File.Exists(@"x:\file.pdf")) { System.IO.File.Delete(@"x:\file.pdf"); } - System.IO.FileStream stream = - - new FileStream(@"x:\file.pdf", FileMode.CreateNew); - System.IO.BinaryWriter writer = - new BinaryWriter(stream); - writer.Write(pdfBytes, 0, pdfBytes.Length); - writer.Close(); + return response; } - - private async Task CallExternalPdfApi(string json) { @@ -148,6 +139,7 @@ ELSE var data = Encoding.UTF8.GetBytes(jsonstring); string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString(); string uri = OwnHost + "/API/CreateCLM"; + uri = OwnHost + "/API/DokumentGenerator"; request = WebRequest.Create(uri); request.ContentLength = data.Length; request.ContentType = "application/json"; diff --git a/API_NetFramework/Controllers/UnterschriftController.cs b/API_NetFramework/Controllers/UnterschriftController.cs index 48f8b4caf..6e4c371cc 100644 --- a/API_NetFramework/Controllers/UnterschriftController.cs +++ b/API_NetFramework/Controllers/UnterschriftController.cs @@ -140,7 +140,7 @@ namespace API_NetFramework.Controllers } [HttpGet] - [Route("API/GetUnterschriftAsBase64New")] + [Route("API/GetUnterschriftAsBase64IL")] public IHttpActionResult GetUnterschriftAsBase64IL(string TGNummer, int ImageWidth = 0, int ImageHeight = 0) { @@ -156,11 +156,13 @@ namespace API_NetFramework.Controllers apireturn.field = ""; try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } catch { - return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + //return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); + return Content(HttpStatusCode.BadRequest, apireturn); } finally { apireturn = null; }; } @@ -187,11 +189,13 @@ namespace API_NetFramework.Controllers try { - return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + //return BadRequest(Newtonsoft.Json.JsonConvert.SerializeObject(apireturn)); + return Content(HttpStatusCode.BadRequest, apireturn); } catch (Exception ex) { - return Content(HttpStatusCode.InternalServerError, "Unterschfit für TGNumemr " + TGNummer + " nicht vorhanden"); + //return Content(HttpStatusCode.InternalServerError, "Unterschfit für TGNumemr " + TGNummer + " nicht vorhanden"); + return Content(HttpStatusCode.BadRequest, apireturn); } finally { @@ -242,11 +246,12 @@ namespace API_NetFramework.Controllers apiok.file=Convert.ToBase64String(imageBytes); try { - return Ok(Newtonsoft.Json.JsonConvert.SerializeObject(apiok)); + return Ok(apiok); } catch (Exception e) { - return Content(HttpStatusCode.InternalServerError, e.Message); + //return Content(HttpStatusCode.InternalServerError, e.Message); + } finally { diff --git a/API_NetFramework/DocTester.aspx b/API_NetFramework/DocTester.aspx index b295f9653..3cac0da8c 100644 --- a/API_NetFramework/DocTester.aspx +++ b/API_NetFramework/DocTester.aspx @@ -4,24 +4,24 @@ JSON Editor → PDF Preview - + - + - +