update 20250505

This commit is contained in:
Stefan Hutter
2025-05-04 17:33:00 +02:00
parent c7a4e24e3f
commit 5aa75038e7
69 changed files with 405 additions and 170 deletions

View File

@@ -28,6 +28,7 @@ using System.Runtime.CompilerServices;
using System.Web.UI.WebControls;
using edoka_dms;
using Microsoft.Ajax.Utilities;
using Newtonsoft.Json.Serialization;
namespace API_NetFramework.Controllers
@@ -48,7 +49,9 @@ namespace API_NetFramework.Controllers
{
fast = 1,
slow = 2,
docupload = 3
docupload = 3,
revision = 4
}
public class ArchivController : ApiController
@@ -221,11 +224,27 @@ namespace API_NetFramework.Controllers
};
return Content(HttpStatusCode.OK, DokumentID + " archiviert");
}
db.clear_parameter();
db.add_parameter("@dokumentid", DokumentID);
db.Get_Tabledata("[sp_Get_OnDoc_Parameters]", true, false);
bool revisionupload = false;
string revisionhandle = "";
foreach (System.Data.DataRow dr in db.dsdaten.Tables[1].Rows)
{
if (dr[0].ToString() == "Handle" && dr[1].ToString() != "")
{
revisionhandle = dr[1].ToString();
revisionupload = true;
}
}
OnBaseDocUpload.OnBaseDokument onbasedoc = new OnBaseDocUpload.OnBaseDokument();
OnBaseDocUpload.OnBaseDokument_Revision onbasedoc_revision = new OnBaseDocUpload.OnBaseDokument_Revision();
DocGet dg = new DocGet(connectionstring);
clsdok dok = new clsdok("", "", "", "");
@@ -275,7 +294,6 @@ namespace API_NetFramework.Controllers
db.clear_parameter();
db.add_parameter("@dokumentid", DokumentID);
db.Get_Tabledata("[sp_Get_OnDoc_Parameters]", true, false);
}
if (officeformat.Contains(doktypnr) || extension.ToUpper() == "PDF")
{
@@ -288,30 +306,54 @@ namespace API_NetFramework.Controllers
extension = "PDF";
}
if (db.dsdaten.Tables[0].Rows[0]["BpNummer"].ToString() == "")
{
onbasedoc.personNummer = db.dsdaten.Tables[0].Rows[0]["PersonNummer"].ToString();
onbasedoc.bpNummer = "";
}
else
{
onbasedoc.bpNummer = db.dsdaten.Tables[0].Rows[0]["BpNummer"].ToString();
onbasedoc.personNummer = "";
}
onbasedoc.dokumentDatum = db.dsdaten.Tables[0].Rows[0]["DokumentDatum"].ToString();
onbasedoc.dokumentTyp = db.dsdaten.Tables[0].Rows[0]["dokumenttyp"].ToString(); ;
onbasedoc.dateiTyp = extension;
var Attribute = new List<Model.OnBaseDocUpload.attribute>();
onbasedoc.attributes = new List<Model.OnBaseDocUpload.attribute>();
foreach (System.Data.DataRow rw in db.dsdaten.Tables[1].Rows)
{
OnBaseDocUpload.attribute na = new OnBaseDocUpload.attribute(rw["fieldname"].ToString(), rw["fieldvalue"].ToString());
onbasedoc.attributes.Add(na);
}
onbasedoc.dokumentDatei = dok.dokument;
if (!revisionupload) {
if (db.dsdaten.Tables[0].Rows[0]["BpNummer"].ToString() == "")
{
onbasedoc.personNummer = db.dsdaten.Tables[0].Rows[0]["PersonNummer"].ToString();
onbasedoc.bpNummer = "";
}
else
{
onbasedoc.bpNummer = db.dsdaten.Tables[0].Rows[0]["BpNummer"].ToString();
onbasedoc.personNummer = "";
}
onbasedoc.dokumentDatum = db.dsdaten.Tables[0].Rows[0]["DokumentDatum"].ToString();
onbasedoc.dokumentTyp = db.dsdaten.Tables[0].Rows[0]["dokumenttyp"].ToString(); ;
onbasedoc.dateiTyp = extension;
var Attribute = new List<Model.OnBaseDocUpload.attribute>();
onbasedoc.attributes = new List<Model.OnBaseDocUpload.attribute>();
foreach (System.Data.DataRow rw in db.dsdaten.Tables[1].Rows)
{
OnBaseDocUpload.attribute na = new OnBaseDocUpload.attribute(rw["fieldname"].ToString(), rw["fieldvalue"].ToString());
onbasedoc.attributes.Add(na);
}
onbasedoc.dokumentDatei = dok.dokument;
if (pdfdoc != "")
{
onbasedoc.dokumentDatei = pdfdoc;
}
}
else {
onbasedoc_revision.dokumentHandle = revisionhandle;
onbasedoc_revision.dokumentTyp = db.dsdaten.Tables[0].Rows[0]["dokumenttyp"].ToString(); ;
onbasedoc_revision.dateiTyp = extension;
var Attribute = new List<Model.OnBaseDocUpload.attribute>();
onbasedoc_revision.attributes = new List<Model.OnBaseDocUpload.attribute>();
onbasedoc_revision.comment = "";
foreach (System.Data.DataRow rw in db.dsdaten.Tables[1].Rows)
{
if (rw[0].ToString() != "Handle") {
OnBaseDocUpload.attribute na = new OnBaseDocUpload.attribute(rw["fieldname"].ToString(), rw["fieldvalue"].ToString());
onbasedoc_revision.attributes.Add(na);
}
}
onbasedoc_revision.dokumentDatei = dok.dokument;
if (pdfdoc != "")
{
onbasedoc_revision.dokumentDatei = pdfdoc;
}
if(pdfdoc != ""){
onbasedoc.dokumentDatei =pdfdoc;
}
db = null;
ILResponse ilr = new ILResponse();
@@ -319,11 +361,26 @@ namespace API_NetFramework.Controllers
string SendToOnBase = System.Configuration.ConfigurationManager.AppSettings["SendToOnBase"];
string SendToFile = System.Configuration.ConfigurationManager.AppSettings["SendToFile"];
string debugdir = System.Configuration.ConfigurationManager.AppSettings["DebugDir"];
string jsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(onbasedoc);
string jsonstring = "";
if (!revisionupload)
{
jsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(onbasedoc);
}
else
{
jsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(onbasedoc_revision);
}
IHttpActionResult transferResult = null;
if (SendToOnBase != "Yes")
{
transferResult = Transfer_OnBase(uploadtype.fast, ref jsonstring, ref ilr);
if (!revisionupload)
{
transferResult = Transfer_OnBase(uploadtype.fast, ref jsonstring, ref ilr);
}
else
{
transferResult = Transfer_OnBase(uploadtype.revision, ref jsonstring, ref ilr);
}
if (SendToFile == "Yes")
{
if (debugfilename != "")
@@ -511,6 +568,9 @@ namespace API_NetFramework.Controllers
case uploadtype.docupload:
url = System.Configuration.ConfigurationManager.AppSettings["ILDocupload"];
break;
case uploadtype.revision:
url = System.Configuration.ConfigurationManager.AppSettings["ILRevision"];
break;
}
var data = Encoding.UTF8.GetBytes(jsonstring);