update 20260308
This commit is contained in:
@@ -268,13 +268,6 @@
|
||||
<Compile Include="Controllers\AntwortAdressController.cs" />
|
||||
<Compile Include="Controllers\VersandstrasseController.cs" />
|
||||
<Compile Include="DocGenerators\CreateCLM.cs" />
|
||||
<Compile Include="DocTester.aspx.cs">
|
||||
<DependentUpon>DocTester.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DocTester.aspx.designer.cs">
|
||||
<DependentUpon>DocTester.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dt.aspx.cs">
|
||||
<DependentUpon>dt.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
@@ -290,12 +283,19 @@
|
||||
<Compile Include="Helper\ImageHelper.cs" />
|
||||
<Compile Include="Models\StaticParams.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SelectTable.aspx.cs">
|
||||
<DependentUpon>SelectTable.aspx</DependentUpon>
|
||||
<Compile Include="CLM.aspx.cs">
|
||||
<DependentUpon>CLM.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SelectTable.aspx.designer.cs">
|
||||
<DependentUpon>SelectTable.aspx</DependentUpon>
|
||||
<Compile Include="CLM.aspx.designer.cs">
|
||||
<DependentUpon>CLM.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="JSONViewer.aspx.cs">
|
||||
<DependentUpon>JSONViewer.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="JSONViewer.aspx.designer.cs">
|
||||
<DependentUpon>JSONViewer.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Startup.cs" />
|
||||
<Compile Include="TableConfigProvider.cs" />
|
||||
@@ -318,7 +318,6 @@
|
||||
<Content Include="Content\bootstrap.min.css" />
|
||||
<Content Include="Content\bootstrap.rtl.css" />
|
||||
<Content Include="Content\bootstrap.rtl.min.css" />
|
||||
<Content Include="DocTester.aspx" />
|
||||
<Content Include="dt.aspx" />
|
||||
<Content Include="favicon.ico" />
|
||||
<Content Include="Global.asax" />
|
||||
@@ -354,7 +353,8 @@
|
||||
<Content Include="Scripts\jquery-3.7.1.slim.js" />
|
||||
<Content Include="Scripts\jquery-3.7.1.slim.min.js" />
|
||||
<Content Include="Scripts\modernizr-2.8.3.js" />
|
||||
<Content Include="SelectTable.aspx" />
|
||||
<Content Include="CLM.aspx" />
|
||||
<Content Include="JSONViewer.aspx" />
|
||||
<Content Include="Web.config" />
|
||||
<Content Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
|
||||
@@ -1,14 +1,5 @@
|
||||
{
|
||||
"tables": [
|
||||
{
|
||||
"key": "ProvDokuments",
|
||||
"displayName": "ESS-Dokumente",
|
||||
"sqlList": "SELECT ProvDokumentid as id, provDokumentID as Name FROM ProvDokuments order by erstelltam desc",
|
||||
"sqlById": "SELECT JavaScriptObject as JsonData FROM ProvDokuments where provdokumentid=@id",
|
||||
"idField": "Id",
|
||||
"displayField": "ProvDokumentID",
|
||||
"jsonField": "JsonData"
|
||||
},
|
||||
{
|
||||
"key": "Ondoc_Versandstrasse_Paket",
|
||||
"displayName": "Ondoc_Versandstrasse_Paket",
|
||||
@@ -16,7 +7,10 @@
|
||||
"sqlById": "SELECT paket as JsonData from Ondoc_Versandstrasse_Paket where id= @id ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "JsonData"
|
||||
"jsonField": "JsonData",
|
||||
"Buttons": "Öffnen",
|
||||
"AnzeigeDokument": "",
|
||||
"FilterColumns": ""
|
||||
},
|
||||
{
|
||||
"key": "NLOGApiDoc",
|
||||
@@ -25,7 +19,35 @@
|
||||
"sqlById": "SELECT div as JsonData from edoka_journale.dbo.nlogapidoc where id= @id ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "JsonData"
|
||||
"jsonField": "JsonData",
|
||||
"Buttons": "Öffnen",
|
||||
"AnzeigeDokument": "",
|
||||
"FilterColumns": "GUID"
|
||||
|
||||
},
|
||||
{
|
||||
"key": "CLMDokumente",
|
||||
"displayName": "CLM-Dokumente",
|
||||
"sqlList": "SELECT ID, clmdokumentid as CLM_ID, GUID, Erstellt_Am, Aktiv, Archivstatus, Archiviert from ondoc_clm_dokumente [FILTER] order by Id desc",
|
||||
"sqlById": "SELECT jsondata as JsonData from ondoc_clm_dokumente where id= @id ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "JsonData",
|
||||
"Buttons": "Öffnen;Anzeigen",
|
||||
"AnzeigeDokument": "SELECT dbo.BinaryToBase64(dokument) FROM dbo.OnDoc_CLM_Dokumente INNER JOIN dbo.Doks ON dbo.OnDoc_CLM_Dokumente.dokumentid = dbo.Doks.DokumentID where dbo.ondoc_clm_dokumente.id=@id",
|
||||
"FilterColumns": "clmdokumentid;archivstatus"
|
||||
},
|
||||
{
|
||||
"key": "CLMJournal",
|
||||
"displayName": "CLM-Journal",
|
||||
"sqlList": "SELECT ID, clmdokumentid as CLM_ID, Dokumentid, GUID, Erstellt_Am, Aktiv, Archivstatus, Archiviert, Archiviert_am from ondoc_clm_dokumente [FILTER] order by Id desc",
|
||||
"sqlById": " ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "",
|
||||
"Buttons": "Anzeigen",
|
||||
"AnzeigeDokument": "SELECT dbo.BinaryToBase64(dokument) FROM dbo.OnDoc_CLM_Dokumente INNER JOIN dbo.Doks ON dbo.OnDoc_CLM_Dokumente.dokumentid = dbo.Doks.DokumentID where dbo.ondoc_clm_dokumente.id=@id",
|
||||
"FilterColumns": "clmdokumentid;archivstatus;dokumentid"
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
303
API_NetFramework/CLM.aspx
Normal file
303
API_NetFramework/CLM.aspx
Normal file
@@ -0,0 +1,303 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CLM.aspx.cs" Inherits="WebApp.CLM" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<%--<title>Daten & JSON Editor</title>--%>
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
<link href="/Content/bootstrap.css" rel="stylesheet" />
|
||||
|
||||
<%--<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.23.4/ace.js"></script>--%>
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-family: Arial;
|
||||
background: #f4f6f8;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.page-header h1 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
.page-header p {
|
||||
margin: 4px 0 0 0;
|
||||
font-size: 0.95rem;
|
||||
color: #dbeafe;
|
||||
}
|
||||
|
||||
.layout {
|
||||
display: flex;
|
||||
height: calc(100% - 70px);
|
||||
}
|
||||
/* 70px für header */
|
||||
.left {
|
||||
width: 45%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.leftfull {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.right {
|
||||
width: 55%;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#editor {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
.pager a, .pager span {
|
||||
padding: 5px 9px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
margin-left: 4px;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.pager span {
|
||||
background: #2563eb;
|
||||
color: #fff;
|
||||
border-color: #2563eb;
|
||||
}
|
||||
|
||||
a.open {
|
||||
color: #2563eb;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.open:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#pdfFrame {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.leftpanel {
|
||||
border-right: 1px solid #ccc;
|
||||
height: 100%;
|
||||
}
|
||||
.navbar-custom {
|
||||
background-color: #0d6efd;
|
||||
padding-top:20px;
|
||||
padding-bottom:20px;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand {
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.navbar-custom .btn {
|
||||
border-color: white;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar-custom .btn:hover {
|
||||
background: white;
|
||||
color: #0d6efd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<nav class="navbar navbar-expand-lg navbar-custom">
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- TITEL LINKS -->
|
||||
<span class="navbar-brand"><h1>CLM</h1>
|
||||
</span>
|
||||
|
||||
|
||||
<div class="ms-auto d-flex gap-2">
|
||||
|
||||
<!-- BUTTON -->
|
||||
<button class="btn btn-outline-light" onclick="generateFromJson()">
|
||||
Generieren
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
<!-- LAYOUT -->
|
||||
<div class="layout">
|
||||
<form runat="server" class="left" id="masterform" >
|
||||
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
|
||||
|
||||
<h2>Tabellen & Datensätze</h2>
|
||||
<asp:DropDownList
|
||||
Width="300"
|
||||
ID="ddlTables"
|
||||
runat="server"
|
||||
AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlTables_SelectedIndexChanged" />
|
||||
|
||||
|
||||
|
||||
<asp:Label ID="lblFilter" runat="server" Text="Filter:"></asp:Label>
|
||||
<asp:TextBox ID="txtfilter" runat="server" Width="207px"></asp:TextBox>
|
||||
|
||||
|
||||
<asp:Button ID="btnRefresh" runat="server" Text="Aktualisieren" OnClick="ddlTables_SelectedIndexChanged" />
|
||||
<asp:Button ID="Button1" runat="server" Text="Filter löschen" OnClick="ddlTables_clearfilter" />
|
||||
|
||||
<asp:GridView
|
||||
ID="gvData"
|
||||
runat="server"
|
||||
AutoGenerateColumns="true"
|
||||
AllowPaging="true"
|
||||
PageSize="15"
|
||||
PagerStyle-CssClass="pager"
|
||||
OnPageIndexChanging="gvData_PageIndexChanging"
|
||||
OnRowCreated="gvData_RowCreated"
|
||||
OnRowDataBound="gvData_RowDataBound" />
|
||||
|
||||
</form>
|
||||
|
||||
<div id="editor"></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
editor.session.doc
|
||||
|
||||
//let editor;
|
||||
//$(function () {
|
||||
// editor = ace.edit("editor");
|
||||
// editor.setTheme("ace/theme/tomorrow");
|
||||
// editor.session.setMode("ace/mode/json");
|
||||
// editor.setShowPrintMargin(false);
|
||||
// editor.session.setTabSize(2);
|
||||
// editor.session.setUseSoftTabs(true);
|
||||
|
||||
// editor.commands.addCommand({
|
||||
// name: "find",
|
||||
// bindKey: { win: "Ctrl-F", mac: "Command-F" },
|
||||
// exec: function (ed) {
|
||||
// ace.require("ace/ext/searchbox").Search(ed);
|
||||
// }
|
||||
// });
|
||||
//});
|
||||
function generateFromJson() {
|
||||
|
||||
var jsonText = editor.getValue();
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/API/DokumentGenerator",
|
||||
data: jsonText,
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
headers: {
|
||||
"Authorization": "Bearer " + "pZkuG6l6ORCEckqQimPK58PO1A9EnkMtL5oCgRX9WiWnD4xeH7ikGzhWnTBy/vk8J4Iiz8gCSx9uFHA4+DvITG0roO97sk82d/0BCjVlwLWINpXlJfGYEF3X96AdoCQvb3ruwv/tVqEHsSU5aNfyxBAe+EhLTHQ8t7ysgJZWh98="
|
||||
},
|
||||
success: function (response) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + response.file + "'></iframe>");
|
||||
//alert("Server Response: " + response.file);
|
||||
},
|
||||
|
||||
error: function (err) {
|
||||
alert("Error: " + err.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function showDoc(tableKey, id) {
|
||||
PageMethods.GetDoc(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + result + "'></iframe>");
|
||||
},
|
||||
function (err) {
|
||||
|
||||
alert(err.get_message())
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
function loadJson(tableKey, id) {
|
||||
|
||||
editor.setValue("// lade JSON ...", -1);
|
||||
|
||||
PageMethods.GetJson(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
editor.setValue(result, -1);
|
||||
},
|
||||
function (err) {
|
||||
|
||||
editor.setValue(JSON.stringify({ error: err.get_message() }, null, 2), -1);
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
270
API_NetFramework/CLM.aspx.cs
Normal file
270
API_NetFramework/CLM.aspx.cs
Normal file
@@ -0,0 +1,270 @@
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using SecuringWebApiUsingApiKey.Middleware;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Http.Results;
|
||||
using System.Web.Services;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
public partial class CLM : System.Web.UI.Page
|
||||
{
|
||||
private string ConnectionString = StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm");
|
||||
|
||||
|
||||
private TableConfig CurrentTable =>
|
||||
TableConfigProvider.LoadConfig().Tables.FirstOrDefault(t => t.Key == ddlTables.SelectedValue);
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
BindTables();
|
||||
}
|
||||
|
||||
private void BindTables()
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
List<TableConfig> tables = new List<TableConfig>();
|
||||
foreach (TableConfig t in config.Tables)
|
||||
{
|
||||
if (t.DisplayName.Contains("CLM")) { tables.Add(t); }
|
||||
}
|
||||
ddlTables.DataSource = tables;
|
||||
ddlTables.DataTextField = "DisplayName";
|
||||
ddlTables.DataValueField = "Key";
|
||||
ddlTables.DataBind();
|
||||
ddlTables.Items.Insert(0, "-- bitte wählen --");
|
||||
}
|
||||
|
||||
protected void ddlTables_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
gvData.PageIndex = 0;
|
||||
LoadTableData();
|
||||
}
|
||||
protected void ddlTables_clearfilter(object sender, EventArgs e)
|
||||
{
|
||||
this.txtfilter.Text = "";
|
||||
LoadTableData();
|
||||
}
|
||||
protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||||
{
|
||||
gvData.PageIndex = e.NewPageIndex;
|
||||
LoadTableData();
|
||||
}
|
||||
|
||||
|
||||
string[] buttons;
|
||||
private void LoadTableData()
|
||||
{
|
||||
|
||||
if (ddlTables.SelectedIndex <= 0 || CurrentTable == null) return;
|
||||
var cfg = CurrentTable;
|
||||
buttons = cfg.Buttons.Split(';');
|
||||
if (cfg.FilterColumns == "")
|
||||
{
|
||||
txtfilter.Visible = false;
|
||||
lblFilter.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
txtfilter.Visible = true;
|
||||
lblFilter.Visible = true;
|
||||
}
|
||||
|
||||
string sql = cfg.SqlList;
|
||||
string where = "";
|
||||
if (cfg.FilterColumns != "" && txtfilter.Text.Trim()!="")
|
||||
{
|
||||
string[] filters = cfg.FilterColumns.Split(';');
|
||||
int i = 0;
|
||||
foreach(string filter in filters)
|
||||
{
|
||||
if (i>0) { where = where + " or "; }
|
||||
where = where + " " + filter + " like '%" + txtfilter.Text + "%' ";
|
||||
i=i + 1;
|
||||
}
|
||||
if (where !="") { where = "where " + where; }
|
||||
|
||||
}
|
||||
sql = sql.Replace("[FILTER]", where);
|
||||
using (var con = new SqlConnection(ConnectionString))
|
||||
using (var cmd = new SqlCommand(sql, con))
|
||||
{
|
||||
var dt = new DataTable();
|
||||
con.Open();
|
||||
dt.Load(cmd.ExecuteReader());
|
||||
gvData.DataSource = dt;
|
||||
gvData.DataBind();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvData_RowCreated(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.Header)
|
||||
e.Row.Cells.Add(new TableHeaderCell { Text = "Details" });
|
||||
}
|
||||
|
||||
protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType != DataControlRowType.DataRow) return;
|
||||
var cfg = CurrentTable;
|
||||
if (cfg == null) return;
|
||||
|
||||
var id = DataBinder.Eval(e.Row.DataItem, cfg.IdField)?.ToString();
|
||||
if (string.IsNullOrEmpty(id)) return;
|
||||
|
||||
string tableKeyJs = HttpUtility.JavaScriptStringEncode(cfg.Key);
|
||||
string idJs = HttpUtility.JavaScriptStringEncode(id);
|
||||
|
||||
bool hasoeffenen = false;
|
||||
foreach (string button in buttons)
|
||||
{
|
||||
switch (button.ToUpper())
|
||||
{
|
||||
case "ÖFFNEN":
|
||||
var c1 = new TableCell();
|
||||
var l1 = new LinkButton
|
||||
{
|
||||
Text = "Öffnen",
|
||||
CssClass = "open"
|
||||
};
|
||||
hasoeffenen = true;
|
||||
l1.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
c1.Controls.Add(l1);
|
||||
e.Row.Cells.Add(c1);
|
||||
|
||||
break;
|
||||
case "ANZEIGEN":
|
||||
var c2 = new TableCell();
|
||||
var l2 = new LinkButton
|
||||
{
|
||||
Text = "Anzeigen",
|
||||
CssClass = "open"
|
||||
};
|
||||
l2.OnClientClick = $"showDoc('{tableKeyJs}','{idJs}'); return false;";
|
||||
c2.Controls.Add(l2);
|
||||
e.Row.Cells.Add(c2);
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
if (!hasoeffenen)
|
||||
{
|
||||
masterform.Attributes.Add("class", "leftfull");
|
||||
} else
|
||||
{
|
||||
masterform.Attributes.Add("class", "left");
|
||||
}
|
||||
//var cell = new TableCell();
|
||||
//var lnk = new LinkButton
|
||||
//{
|
||||
// Text = " Öffnen ",
|
||||
// CssClass = "open"
|
||||
//};
|
||||
//lnk.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
//cell.Controls.Add(lnk);
|
||||
|
||||
//var cell2 = new TableCell();
|
||||
//var lnk2 = new LinkButton
|
||||
//{
|
||||
// Text = " Generieren ",
|
||||
// CssClass = "open"
|
||||
//};
|
||||
////lnk.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
//lnk2.OnClientClick = $"generateFromJson(); return false;";
|
||||
|
||||
//cell.Controls.Add(lnk2);
|
||||
|
||||
//e.Row.Cells.Add(cell);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
|
||||
|
||||
public static object GetDoc(string table, string id)
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
var cfg = config.Tables.FirstOrDefault(t => t.Key == table);
|
||||
if (cfg == null) return "Tabelle nicht gefunden";
|
||||
using (var con = new SqlConnection(StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm")))
|
||||
using (var cmd = new SqlCommand(cfg.AnzeigeDokument, con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@id", id);
|
||||
con.Open();
|
||||
string doc = cmd.ExecuteScalar()?.ToString();
|
||||
con.Close();
|
||||
return doc;
|
||||
}
|
||||
}
|
||||
[WebMethod]
|
||||
public static object GetJson(string table, string id)
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
var cfg = config.Tables.FirstOrDefault(t => t.Key == table);
|
||||
if (cfg == null) return "Tabelle nicht gefunden";
|
||||
|
||||
using (var con = new SqlConnection(StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm")))
|
||||
using (var cmd = new SqlCommand(cfg.SqlById, con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@id", id);
|
||||
con.Open();
|
||||
string json = cmd.ExecuteScalar()?.ToString();
|
||||
return json;
|
||||
dynamic dataj = JsonConvert.DeserializeObject(json);
|
||||
try
|
||||
{
|
||||
if (dataj.Id != "")
|
||||
{
|
||||
json = JsonConvert.DeserializeObject<string>("" + json + "");
|
||||
return json;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
|
||||
if (string.IsNullOrEmpty(json)) return "Datensatz nicht gefunden";
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
if (json.TrimStart().StartsWith("\""))
|
||||
{
|
||||
json = JsonConvert.DeserializeObject<string>("{" + json + "}");
|
||||
}
|
||||
|
||||
Versandpaket vp = new Versandpaket();
|
||||
vp = JsonConvert.DeserializeObject<Versandpaket>(json);
|
||||
vp.finaldoc = "ABCD...";
|
||||
foreach (Versanddokument vd in vp.Dokument)
|
||||
{
|
||||
vd.dokument = "ABC...";
|
||||
}
|
||||
//vp.Dokument.Clear();
|
||||
json = JsonConvert.SerializeObject(vp, Formatting.Indented);
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
// JSON in Objekt parsen, damit PageMethods es korrekt als JS-Objekt liefert
|
||||
return (json);
|
||||
}
|
||||
}
|
||||
[WebMethod]
|
||||
|
||||
public static object Generate(string json)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
89
API_NetFramework/CLM.aspx.designer.cs
generated
Normal file
89
API_NetFramework/CLM.aspx.designer.cs
generated
Normal file
@@ -0,0 +1,89 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
|
||||
|
||||
public partial class CLM
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// masterform-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm masterform;
|
||||
|
||||
/// <summary>
|
||||
/// ScriptManager1-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.ScriptManager ScriptManager1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlTables-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlTables;
|
||||
|
||||
/// <summary>
|
||||
/// lblFilter-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFilter;
|
||||
|
||||
/// <summary>
|
||||
/// txtfilter-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtfilter;
|
||||
|
||||
/// <summary>
|
||||
/// btnRefresh-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnRefresh;
|
||||
|
||||
/// <summary>
|
||||
/// Button1-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// gvData-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvData;
|
||||
}
|
||||
}
|
||||
@@ -1099,14 +1099,16 @@ namespace API_NetFramework.Controllers
|
||||
int i = 0;
|
||||
if (archivdoc.DokumentID != "")
|
||||
{
|
||||
int id = 0;
|
||||
if (!archivdoc.Dokument.Contains("OFFEDK"))
|
||||
{
|
||||
string savedokumentid = archivdoc.DokumentID;
|
||||
DB db = new DB(connectionstring);
|
||||
try
|
||||
{
|
||||
db.Get_Tabledata("Select dokumentid from OnDoc_CLM_Dokumente where clmdokumentid='" + archivdoc.DokumentID + "'", false, true);
|
||||
archivdoc.DokumentID = db.dsdaten.Tables[0].Rows[0][0].ToString(); ;
|
||||
db.Get_Tabledata("Select id, dokumentid from OnDoc_CLM_Dokumente where aktiv=1 and clmdokumentid='" + archivdoc.DokumentID + "'", false, true);
|
||||
id = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]);
|
||||
archivdoc.DokumentID = db.dsdaten.Tables[0].Rows[0][1].ToString(); ;
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -1133,6 +1135,9 @@ namespace API_NetFramework.Controllers
|
||||
apiok.code = "OK";
|
||||
apiok.status = "200";
|
||||
apiok.documentid = archivdoc.DokumentID;
|
||||
DB db = new DB(connectionstring);
|
||||
db.Exec_SQL("Update ondoc_clm_dokumente set archiviert=1, archiviert_am = getdate() where id = " + id.ToString());
|
||||
db = null;
|
||||
return Content(HttpStatusCode.OK, apiok);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1251,7 +1251,7 @@ namespace API_NetFramework.Controllers
|
||||
clsdok dok = new clsdok("", "", "", "");
|
||||
Logging.APIDocLog.Debug("Start GenDocCLM", "CreateCLM", guid, "");
|
||||
|
||||
gendocCLM(ref dokumentdaten, ref dataj, ref dok, key, clmdokumentid,archivstatus);
|
||||
gendocCLM(ref dokumentdaten, ref dataj, ref dok, key, clmdokumentid,archivstatus, result);
|
||||
|
||||
Logging.APIDocLog.Info("Dokument abgeschlossen", "CreateDok", guid, clmdokumentid);
|
||||
apiok.code = "200";
|
||||
@@ -1774,7 +1774,7 @@ namespace API_NetFramework.Controllers
|
||||
|
||||
|
||||
}
|
||||
private void gendocCLM(ref List<CLMDocItem> clmdocitemlist, ref dynamic dataj, ref clsdok dok, string key, string clmdokumentid, string archivstatus = "Aktiv")
|
||||
private void gendocCLM(ref List<CLMDocItem> clmdocitemlist, ref dynamic dataj, ref clsdok dok, string key, string clmdokumentid, string archivstatus = "Aktiv",string json="")
|
||||
{
|
||||
string OwnHost = System.Configuration.ConfigurationManager.AppSettings["OwnHost"].ToString();
|
||||
string imagepath = System.Configuration.ConfigurationManager.AppSettings["VSImagePath"].ToString();
|
||||
@@ -1947,7 +1947,7 @@ namespace API_NetFramework.Controllers
|
||||
db.Exec_SQL("update dokument set dokumentname = dokumentname + '.pdf' where dokumentid = '" + dokumentid + "'");
|
||||
}
|
||||
// db.Save_To_DB(dokumentid, "", dok.dokument);
|
||||
|
||||
|
||||
|
||||
// dok = dget.GetDocAsPDF(dokumentid);
|
||||
dok.extension = "pdf";
|
||||
@@ -1955,11 +1955,25 @@ namespace API_NetFramework.Controllers
|
||||
if (System.Configuration.ConfigurationManager.AppSettings["CLMSaveOnDoc"].ToString() == "True" || clmdokumentid != "")
|
||||
{
|
||||
db.Save_To_DB(dokumentid, "", dok.dokument);
|
||||
string sql = "delete from ondoc_clm_dokumente where clmdokumentid ='" + dataj.Id + "'";
|
||||
db.Exec_SQL(sql);
|
||||
sql = "Insert OnDoc_CLM_Dokumente (dokumentid,clmdokumentid,erstellt_am,aktiv,archivstatus) values(";
|
||||
sql=sql+"'"+dokumentid+"','"+dataj.Id+"',getdate(),1,'"+archivstatus+"')";
|
||||
string sql = "Update ondoc_clm_dokumente set aktiv=0 where clmdokumentid = '" + dataj.Id + "'";
|
||||
db.Exec_SQL(sql);
|
||||
db.Get_Tabledata_for_Update("Select top 1 * from ondoc_clm_dokumente where id=-1", false, true);
|
||||
DataRow dr1 = db.daten.Tables[0].NewRow();
|
||||
dr1[1] = dokumentid;
|
||||
dr1[2] = dataj.Id;
|
||||
dr1[3] = DateTime.Now.ToString();
|
||||
dr1[4] = true;
|
||||
dr1[5] = archivstatus;
|
||||
dr1[6] = 0;
|
||||
dr1[7] = json;
|
||||
dr1[8] = guid;
|
||||
db.daten.Tables[0].Rows.Add(dr1);
|
||||
|
||||
db.Update_Data();
|
||||
dr1 = null;
|
||||
//sql = "Insert OnDoc_CLM_Dokumente (dokumentid,clmdokumentid,erstellt_am,aktiv,archivstatus) values(";
|
||||
//sql=sql+"'"+dokumentid+"','"+dataj.Id+"',getdate(),1,'"+archivstatus+"')";
|
||||
//db.Exec_SQL(sql);
|
||||
//string sql = "Insert OnDoc_CLM_DocReference ";
|
||||
//sql = sql + "(ondocdokumentid, clmdokumentid, erstellt_am,aktiv) ";
|
||||
//sql = sql + "values('"+ dokdata.Dokumentid+","
|
||||
|
||||
@@ -1,212 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>JSON Editor → PDF Preview</title>
|
||||
<script>
|
||||
|
||||
|
||||
</script>
|
||||
<!-- ACE
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/ace.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/mode-json.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/theme-tomorrow.min.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
-->
|
||||
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
.toolbar {
|
||||
padding: 10px;
|
||||
background: #f5f5f5;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.toolbar input {
|
||||
width: 220px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.toolbar button {
|
||||
margin-left: 5px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
height: calc(100vh - 60px);
|
||||
}
|
||||
|
||||
.left, .right {
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.left {
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
#editor {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
#pdfFrame {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid #ccc;
|
||||
background: #fafafa;
|
||||
}
|
||||
html, body { margin:0; padding:0; height:100%; font-family:Arial; background:#f4f6f8; }
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
.page-header h1 {
|
||||
margin:0;
|
||||
font-size:1.8rem;
|
||||
}
|
||||
.page-header p {
|
||||
margin:4px 0 0 0;
|
||||
font-size:0.95rem;
|
||||
color:#dbeafe;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page-header">
|
||||
<h1>OnDoc-DocPreview</h1>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
<div class="toolbar">
|
||||
<label>Schlüssel:</label>
|
||||
<input type="text" id="key" placeholder="provDokumentID" />
|
||||
<button onclick="loadJson()">Laden</button>
|
||||
<button onclick="saveJson()">Speichern</button>
|
||||
<button onclick="generatePdf()">PDF generieren</button>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<!-- LINKS: JSON -->
|
||||
<div class="left">
|
||||
<div id="editor">{}</div>
|
||||
</div>
|
||||
|
||||
<!-- RECHTS: PDF -->
|
||||
<table>
|
||||
<tr>
|
||||
<div class="right">
|
||||
<iframe id="pdfFrame" title="PDF Vorschau"></iframe>
|
||||
</div>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const apiBase = "/api/json";
|
||||
|
||||
|
||||
// ACE INIT
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
const editor1 = ace.edit("editor");
|
||||
editor1.setTheme("ace/theme/tomorrow");
|
||||
editor1.session.setMode("ace/mode/json");
|
||||
editor1.setShowPrintMargin(false);
|
||||
editor1.session.setTabSize(2);
|
||||
editor1.session.setUseSoftTabs(true);
|
||||
|
||||
// JSON LADEN
|
||||
function loadJson() {
|
||||
|
||||
editor.setValue("", -1);
|
||||
clearPdfPreview();
|
||||
const key = $("#key").val();
|
||||
if (!key) { alert("Bitte Schlüssel eingeben"); return; }
|
||||
|
||||
$.get(apiBase + "/load/" + encodeURIComponent(key))
|
||||
.done(data => editor.setValue(data, -1))
|
||||
.fail(() => alert("Kein Eintrag gefunden"));
|
||||
}
|
||||
|
||||
// JSON SPEICHERN
|
||||
function saveJson() {
|
||||
const key = $("#key").val();
|
||||
const json = editor.getValue();
|
||||
|
||||
if (!key) { alert("Bitte Schlüssel eingeben"); return; }
|
||||
|
||||
// try { JSON.parse(json); }
|
||||
// catch { alert("Ungültiges JSON"); return; }
|
||||
|
||||
$.ajax({
|
||||
url: apiBase + "/save",
|
||||
type: "POST",
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify({ key: key, json: json }),
|
||||
success: () => alert("Gespeichert")
|
||||
});
|
||||
}
|
||||
|
||||
// PDF GENERIEREN & EMBEDDED ANZEIGEN
|
||||
function generatePdf() {
|
||||
const key = $("#key").val();
|
||||
if (!key) { alert("Bitte Schlüssel eingeben"); return; }
|
||||
|
||||
fetch(apiBase + "/generatepdf", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
key: key,
|
||||
json: editor.getValue()
|
||||
})
|
||||
})
|
||||
.then(r => {
|
||||
if (!r.ok) throw new Error("PDF-Fehler");
|
||||
return r.blob();
|
||||
})
|
||||
.then(blob => {
|
||||
const url = URL.createObjectURL(blob);
|
||||
document.getElementById("pdfFrame").src = url;
|
||||
})
|
||||
.catch(err => alert(err.message));
|
||||
}
|
||||
function clearPdfPreview() {
|
||||
const frame = document.getElementById("pdfFrame");
|
||||
|
||||
// iframe leeren
|
||||
frame.src = "";
|
||||
|
||||
// optional: alte Blob-URL freigeben
|
||||
if (frame.dataset.blobUrl) {
|
||||
URL.revokeObjectURL(frame.dataset.blobUrl);
|
||||
frame.dataset.blobUrl = "";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,54 +0,0 @@
|
||||
using Newtonsoft.Json;
|
||||
using SecuringWebApiUsingApiKey.Middleware;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using System.Web;
|
||||
using System.Web.Services;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebApp;
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
public partial class DocTester : System.Web.UI.Page
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
[WebMethod]
|
||||
public static object GetJson(string tableKey, string id, string mode)
|
||||
{
|
||||
string _connectionString = StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm");
|
||||
string json;
|
||||
|
||||
if (mode == "prov")
|
||||
{
|
||||
using (SqlConnection con = new SqlConnection(_connectionString))
|
||||
using (SqlCommand cmd = new SqlCommand(
|
||||
"SELECT JavaScriptObject FROM ProvDokuments WHERE ProvDokumentid = @key", con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@key", id);
|
||||
con.Open();
|
||||
json = cmd.ExecuteScalar()?.ToString();
|
||||
}
|
||||
|
||||
if (json == null)
|
||||
return "";
|
||||
}
|
||||
json = "";
|
||||
return json;
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected void LoadJson(object sender, EventArgs e)
|
||||
{
|
||||
string a = "1";
|
||||
}
|
||||
}
|
||||
}
|
||||
35
API_NetFramework/DocTester.aspx.designer.cs
generated
35
API_NetFramework/DocTester.aspx.designer.cs
generated
@@ -1,35 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
|
||||
|
||||
public partial class DocTester
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// BtnLoad-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button BtnLoad;
|
||||
}
|
||||
}
|
||||
314
API_NetFramework/JSONViewer.aspx
Normal file
314
API_NetFramework/JSONViewer.aspx
Normal file
@@ -0,0 +1,314 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JSONViewer.aspx.cs" Inherits="WebApp.JSONViewer" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<%--<title>Daten & JSON Editor</title>--%>
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
<script src="/Scripts/bootstrap.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" />
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.23.4/ace.js"></script>
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-family: Arial;
|
||||
background: #f4f6f8;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.page-header h1 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
.page-header p {
|
||||
margin: 4px 0 0 0;
|
||||
font-size: 0.95rem;
|
||||
color: #dbeafe;
|
||||
}
|
||||
|
||||
.layout {
|
||||
display: flex;
|
||||
height: calc(100% - 70px);
|
||||
}
|
||||
/* 70px für header */
|
||||
.left {
|
||||
width: 45%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.leftfull {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.right {
|
||||
width: 55%;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#editor {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
.pager a, .pager span {
|
||||
padding: 5px 9px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
margin-left: 4px;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.pager span {
|
||||
background: #2563eb;
|
||||
color: #fff;
|
||||
border-color: #2563eb;
|
||||
}
|
||||
|
||||
a.open {
|
||||
color: #2563eb;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.open:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#pdfFrame {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.leftpanel {
|
||||
border-right: 1px solid #ccc;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.navbar-custom {
|
||||
background-color: #0d6efd;
|
||||
padding-top:20px;
|
||||
padding-bottom:20px;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand {
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.navbar-custom .btn {
|
||||
border-color: white;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar-custom .btn:hover {
|
||||
background: white;
|
||||
color: #0d6efd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<nav class="navbar navbar-expand-lg navbar-custom">
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- TITEL LINKS -->
|
||||
<span class="navbar-brand">OnDoc-JSON-Viewer
|
||||
</span>
|
||||
|
||||
|
||||
<div class="ms-auto d-flex gap-2">
|
||||
|
||||
<!-- BUTTON -->
|
||||
<button class="btn btn-outline-light" onclick="generateFromJson()">
|
||||
Generieren
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
<%--<div class="page-header">
|
||||
<h1>OnDoc-Json-Viewer</h1>
|
||||
<p>Tabellen auswählen, Datensätze ansehen und JSON anzeigen</p>
|
||||
</div>--%>
|
||||
|
||||
<!-- LAYOUT -->
|
||||
<div class="layout">
|
||||
<form runat="server" class="left" id="masterform">
|
||||
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
|
||||
|
||||
<h2>Tabellen & Datensätze</h2>
|
||||
<asp:DropDownList
|
||||
Width="300"
|
||||
ID="ddlTables"
|
||||
runat="server"
|
||||
AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlTables_SelectedIndexChanged" />
|
||||
|
||||
|
||||
|
||||
<asp:Label ID="lblFilter" runat="server" Text="Filter:"></asp:Label>
|
||||
<asp:TextBox ID="txtfilter" runat="server" Width="207px"></asp:TextBox>
|
||||
|
||||
|
||||
<asp:Button ID="btnRefresh" runat="server" Text="Aktualisieren" OnClick="ddlTables_SelectedIndexChanged" />
|
||||
<asp:Button ID="Button1" runat="server" Text="Filter löschen" OnClick="ddlTables_clearfilter" />
|
||||
|
||||
<asp:GridView
|
||||
ID="gvData"
|
||||
runat="server"
|
||||
AutoGenerateColumns="true"
|
||||
AllowPaging="true"
|
||||
PageSize="15"
|
||||
PagerStyle-CssClass="pager"
|
||||
OnPageIndexChanging="gvData_PageIndexChanging"
|
||||
OnRowCreated="gvData_RowCreated"
|
||||
OnRowDataBound="gvData_RowDataBound" />
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
<div id="editor"></div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
editor.session.doc
|
||||
|
||||
//let editor;
|
||||
//$(function () {
|
||||
// editor = ace.edit("editor");
|
||||
// editor.setTheme("ace/theme/tomorrow");
|
||||
// editor.session.setMode("ace/mode/json");
|
||||
// editor.setShowPrintMargin(false);
|
||||
// editor.session.setTabSize(2);
|
||||
// editor.session.setUseSoftTabs(true);
|
||||
|
||||
// editor.commands.addCommand({
|
||||
// name: "find",
|
||||
// bindKey: { win: "Ctrl-F", mac: "Command-F" },
|
||||
// exec: function (ed) {
|
||||
// ace.require("ace/ext/searchbox").Search(ed);
|
||||
// }
|
||||
// });
|
||||
//});
|
||||
function generateFromJson() {
|
||||
|
||||
var jsonText = editor.getValue();
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/API/DokumentGenerator",
|
||||
data: jsonText,
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
headers: {
|
||||
"Authorization": "Bearer " + "pZkuG6l6ORCEckqQimPK58PO1A9EnkMtL5oCgRX9WiWnD4xeH7ikGzhWnTBy/vk8J4Iiz8gCSx9uFHA4+DvITG0roO97sk82d/0BCjVlwLWINpXlJfGYEF3X96AdoCQvb3ruwv/tVqEHsSU5aNfyxBAe+EhLTHQ8t7ysgJZWh98="
|
||||
},
|
||||
success: function (response) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + response.file + "'></iframe>");
|
||||
//alert("Server Response: " + response.file);
|
||||
},
|
||||
|
||||
error: function (err) {
|
||||
alert("Error: " + err.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function showDoc(tableKey, id) {
|
||||
PageMethods.GetDoc(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + result + "'></iframe>");
|
||||
},
|
||||
function (err) {
|
||||
|
||||
alert(err.get_message())
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
function loadJson(tableKey, id) {
|
||||
|
||||
editor.setValue("// lade JSON ...", -1);
|
||||
|
||||
PageMethods.GetJson(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
editor.setValue(result, -1);
|
||||
},
|
||||
function (err) {
|
||||
|
||||
editor.setValue(JSON.stringify({ error: err.get_message() }, null, 2), -1);
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
266
API_NetFramework/JSONViewer.aspx.cs
Normal file
266
API_NetFramework/JSONViewer.aspx.cs
Normal file
@@ -0,0 +1,266 @@
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using SecuringWebApiUsingApiKey.Middleware;
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Http.Results;
|
||||
using System.Web.Services;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
public partial class JSONViewer : System.Web.UI.Page
|
||||
{
|
||||
private string ConnectionString = StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm");
|
||||
|
||||
|
||||
private TableConfig CurrentTable =>
|
||||
TableConfigProvider.LoadConfig().Tables.FirstOrDefault(t => t.Key == ddlTables.SelectedValue);
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
BindTables();
|
||||
}
|
||||
|
||||
private void BindTables()
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
ddlTables.DataSource = config.Tables;
|
||||
ddlTables.DataTextField = "DisplayName";
|
||||
ddlTables.DataValueField = "Key";
|
||||
ddlTables.DataBind();
|
||||
ddlTables.Items.Insert(0, "-- bitte wählen --");
|
||||
}
|
||||
|
||||
protected void ddlTables_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
gvData.PageIndex = 0;
|
||||
LoadTableData();
|
||||
}
|
||||
|
||||
protected void ddlTables_clearfilter(object sender, EventArgs e)
|
||||
{
|
||||
this.txtfilter.Text = "";
|
||||
LoadTableData();
|
||||
}
|
||||
protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||||
{
|
||||
gvData.PageIndex = e.NewPageIndex;
|
||||
LoadTableData();
|
||||
}
|
||||
|
||||
|
||||
string[] buttons;
|
||||
private void LoadTableData()
|
||||
{
|
||||
|
||||
if (ddlTables.SelectedIndex <= 0 || CurrentTable == null) return;
|
||||
var cfg = CurrentTable;
|
||||
buttons = cfg.Buttons.Split(';');
|
||||
if (cfg.FilterColumns == "")
|
||||
{
|
||||
txtfilter.Visible = false;
|
||||
lblFilter.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
txtfilter.Visible = true;
|
||||
lblFilter.Visible = true;
|
||||
}
|
||||
|
||||
string sql = cfg.SqlList;
|
||||
string where = "";
|
||||
if (cfg.FilterColumns != "" && txtfilter.Text.Trim()!="")
|
||||
{
|
||||
string[] filters = cfg.FilterColumns.Split(';');
|
||||
int i = 0;
|
||||
foreach(string filter in filters)
|
||||
{
|
||||
if (i>0) { where = where + " or "; }
|
||||
where = where + " " + filter + " like '%" + txtfilter.Text + "%' ";
|
||||
i=i + 1;
|
||||
}
|
||||
if (where !="") { where = "where " + where; }
|
||||
|
||||
}
|
||||
sql = sql.Replace("[FILTER]", where);
|
||||
using (var con = new SqlConnection(ConnectionString))
|
||||
using (var cmd = new SqlCommand(sql, con))
|
||||
{
|
||||
var dt = new DataTable();
|
||||
con.Open();
|
||||
dt.Load(cmd.ExecuteReader());
|
||||
gvData.DataSource = dt;
|
||||
gvData.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvData_RowCreated(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.Header)
|
||||
e.Row.Cells.Add(new TableHeaderCell { Text = "Details" });
|
||||
}
|
||||
|
||||
protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType != DataControlRowType.DataRow) return;
|
||||
var cfg = CurrentTable;
|
||||
if (cfg == null) return;
|
||||
|
||||
var id = DataBinder.Eval(e.Row.DataItem, cfg.IdField)?.ToString();
|
||||
if (string.IsNullOrEmpty(id)) return;
|
||||
|
||||
string tableKeyJs = HttpUtility.JavaScriptStringEncode(cfg.Key);
|
||||
string idJs = HttpUtility.JavaScriptStringEncode(id);
|
||||
|
||||
bool hasoeffenen = false;
|
||||
foreach (string button in buttons)
|
||||
{
|
||||
switch (button.ToUpper())
|
||||
{
|
||||
case "ÖFFNEN":
|
||||
var c1 = new TableCell();
|
||||
var l1 = new LinkButton
|
||||
{
|
||||
Text = "Öffnen",
|
||||
CssClass = "open"
|
||||
};
|
||||
hasoeffenen = true;
|
||||
l1.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
c1.Controls.Add(l1);
|
||||
e.Row.Cells.Add(c1);
|
||||
|
||||
break;
|
||||
case "ANZEIGEN":
|
||||
var c2 = new TableCell();
|
||||
var l2 = new LinkButton
|
||||
{
|
||||
Text = "Dok.Anzeigen",
|
||||
CssClass = "open"
|
||||
};
|
||||
l2.OnClientClick = $"showDoc('{tableKeyJs}','{idJs}'); return false;";
|
||||
c2.Controls.Add(l2);
|
||||
e.Row.Cells.Add(c2);
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
if (!hasoeffenen)
|
||||
{
|
||||
masterform.Attributes.Add("class", "leftfull");
|
||||
}
|
||||
else
|
||||
{
|
||||
masterform.Attributes.Add("class", "left");
|
||||
}
|
||||
//var cell = new TableCell();
|
||||
//var lnk = new LinkButton
|
||||
//{
|
||||
// Text = " Öffnen ",
|
||||
// CssClass = "open"
|
||||
//};
|
||||
//lnk.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
//cell.Controls.Add(lnk);
|
||||
|
||||
//var cell2 = new TableCell();
|
||||
//var lnk2 = new LinkButton
|
||||
//{
|
||||
// Text = " Generieren ",
|
||||
// CssClass = "open"
|
||||
//};
|
||||
////lnk.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
//lnk2.OnClientClick = $"generateFromJson(); return false;";
|
||||
|
||||
//cell.Controls.Add(lnk2);
|
||||
|
||||
//e.Row.Cells.Add(cell);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
|
||||
|
||||
public static object GetDoc(string table, string id)
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
var cfg = config.Tables.FirstOrDefault(t => t.Key == table);
|
||||
if (cfg == null) return "Tabelle nicht gefunden";
|
||||
using (var con = new SqlConnection(StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm")))
|
||||
using (var cmd = new SqlCommand(cfg.AnzeigeDokument, con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@id", id);
|
||||
con.Open();
|
||||
string doc = cmd.ExecuteScalar()?.ToString();
|
||||
con.Close();
|
||||
return doc;
|
||||
}
|
||||
}
|
||||
[WebMethod]
|
||||
public static object GetJson(string table, string id)
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
var cfg = config.Tables.FirstOrDefault(t => t.Key == table);
|
||||
if (cfg == null) return "Tabelle nicht gefunden";
|
||||
|
||||
using (var con = new SqlConnection(StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm")))
|
||||
using (var cmd = new SqlCommand(cfg.SqlById, con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@id", id);
|
||||
con.Open();
|
||||
string json = cmd.ExecuteScalar()?.ToString();
|
||||
return json;
|
||||
dynamic dataj = JsonConvert.DeserializeObject(json);
|
||||
try
|
||||
{
|
||||
if (dataj.Id != "")
|
||||
{
|
||||
json = JsonConvert.DeserializeObject<string>("" + json + "");
|
||||
return json;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
|
||||
if (string.IsNullOrEmpty(json)) return "Datensatz nicht gefunden";
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
if (json.TrimStart().StartsWith("\""))
|
||||
{
|
||||
json = JsonConvert.DeserializeObject<string>("{" + json + "}");
|
||||
}
|
||||
|
||||
Versandpaket vp = new Versandpaket();
|
||||
vp = JsonConvert.DeserializeObject<Versandpaket>(json);
|
||||
vp.finaldoc = "ABCD...";
|
||||
foreach (Versanddokument vd in vp.Dokument)
|
||||
{
|
||||
vd.dokument = "ABC...";
|
||||
}
|
||||
//vp.Dokument.Clear();
|
||||
json = JsonConvert.SerializeObject(vp, Formatting.Indented);
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
// JSON in Objekt parsen, damit PageMethods es korrekt als JS-Objekt liefert
|
||||
return (json);
|
||||
}
|
||||
}
|
||||
[WebMethod]
|
||||
|
||||
public static object Generate(string json)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
89
API_NetFramework/JSONViewer.aspx.designer.cs
generated
Normal file
89
API_NetFramework/JSONViewer.aspx.designer.cs
generated
Normal file
@@ -0,0 +1,89 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
|
||||
|
||||
public partial class JSONViewer
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// masterform-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm masterform;
|
||||
|
||||
/// <summary>
|
||||
/// ScriptManager1-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.ScriptManager ScriptManager1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlTables-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlTables;
|
||||
|
||||
/// <summary>
|
||||
/// lblFilter-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFilter;
|
||||
|
||||
/// <summary>
|
||||
/// txtfilter-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtfilter;
|
||||
|
||||
/// <summary>
|
||||
/// btnRefresh-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnRefresh;
|
||||
|
||||
/// <summary>
|
||||
/// Button1-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button Button1;
|
||||
|
||||
/// <summary>
|
||||
/// gvData-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvData;
|
||||
}
|
||||
}
|
||||
@@ -5,15 +5,15 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>E:\Software-Projekte\OnDoc\PubServices\OnDoc</_PublishTargetUrl>
|
||||
<History>True|2026-03-03T06:42:58.6695248Z||;True|2026-03-02T18:56:44.9083635+01:00||;True|2026-03-02T15:22:04.7632771+01:00||;True|2026-03-02T15:17:19.5888051+01:00||;True|2026-03-02T14:44:15.1850254+01:00||;False|2026-03-02T14:43:43.8750165+01:00||;True|2026-03-02T13:00:06.4813259+01:00||;True|2026-03-02T09:00:14.6639978+01:00||;True|2026-02-26T14:00:46.9137562+01:00||;True|2026-02-26T10:52:44.7996454+01:00||;True|2026-02-26T10:20:38.9297393+01:00||;True|2026-02-26T08:17:22.1709972+01:00||;True|2026-02-26T08:01:54.5490566+01:00||;True|2026-02-26T07:56:47.9173498+01:00||;True|2026-02-26T05:50:34.4180646+01:00||;True|2026-02-25T16:00:31.8051644+01:00||;True|2026-02-25T15:40:22.6200444+01:00||;True|2026-02-25T15:32:39.6209326+01:00||;True|2026-02-25T15:03:49.5202958+01:00||;True|2026-02-25T14:49:40.4560899+01:00||;True|2026-02-25T10:41:35.9042956+01:00||;True|2026-02-25T10:33:42.2485129+01:00||;True|2026-02-25T10:05:23.9864404+01:00||;True|2026-02-24T20:45:52.7533529+01:00||;True|2026-02-24T17:49:48.6739610+01:00||;True|2026-02-24T14:30:47.0663499+01:00||;True|2026-02-24T09:28:30.5328425+01:00||;True|2026-02-24T08:40:15.6054714+01:00||;True|2026-02-24T07:59:34.6469067+01:00||;True|2026-02-24T07:30:03.4506392+01:00||;True|2026-02-23T08:26:05.4681353+01:00||;True|2026-02-22T10:44:29.6270572+01:00||;True|2026-02-22T10:41:26.3016875+01:00||;True|2026-02-22T10:30:20.0395713+01:00||;True|2026-02-22T10:06:09.3728289+01:00||;True|2026-02-20T11:11:41.2906293+01:00||;True|2026-02-20T10:46:35.4015642+01:00||;True|2026-02-20T09:45:14.8833885+01:00||;True|2026-02-20T07:32:39.1940489+01:00||;True|2026-02-18T09:12:43.1434580+01:00||;True|2026-02-17T15:15:14.8805757+01:00||;True|2026-02-17T11:09:40.4786451+01:00||;True|2026-02-17T10:45:37.3358353+01:00||;True|2026-02-17T10:33:30.6184470+01:00||;True|2026-02-16T18:55:30.1424518+01:00||;True|2026-02-16T18:01:46.0478978+01:00||;True|2026-02-16T14:51:53.3273467+01:00||;True|2026-02-16T14:12:09.6130777+01:00||;True|2026-02-16T11:21:18.5769808+01:00||;True|2026-02-16T10:08:08.4277947+01:00||;True|2026-02-16T09:52:01.8749049+01:00||;True|2026-02-16T08:13:22.5356518+01:00||;True|2026-02-13T12:36:18.0536988+01:00||;True|2026-02-13T07:29:34.9460520+01:00||;True|2026-02-13T07:27:07.4597689+01:00||;True|2026-02-13T07:23:53.8686289+01:00||;True|2026-02-13T07:21:55.2559788+01:00||;True|2026-02-13T07:19:52.5556550+01:00||;True|2026-02-13T07:18:16.9005327+01:00||;False|2026-02-13T07:17:55.2943268+01:00||;True|2026-02-13T07:16:44.2373881+01:00||;True|2026-02-13T07:14:10.2117483+01:00||;True|2026-02-13T07:06:07.9920856+01:00||;True|2026-02-13T06:48:45.3887087+01:00||;True|2026-02-12T09:21:36.9475377+01:00||;True|2026-02-11T09:09:26.3046534+01:00||;True|2026-02-09T12:16:03.1919757+01:00||;True|2026-02-09T10:52:16.6031577+01:00||;True|2026-02-09T10:43:50.3235884+01:00||;True|2026-02-09T10:32:56.5607905+01:00||;True|2026-02-09T09:28:25.4932552+01:00||;True|2026-02-09T09:11:35.2661821+01:00||;True|2026-02-09T09:09:05.8813514+01:00||;True|2026-02-09T08:54:25.9191904+01:00||;True|2026-02-09T08:41:16.2561697+01:00||;True|2026-02-09T08:22:16.8766070+01:00||;True|2026-02-09T08:09:42.8971751+01:00||;True|2026-02-08T11:04:49.3984275+01:00||;True|2026-02-08T11:00:30.1676134+01:00||;True|2026-02-08T10:02:58.9814683+01:00||;True|2026-02-08T09:53:57.1672910+01:00||;True|2026-02-08T09:50:45.8178289+01:00||;True|2026-02-08T09:47:06.6864472+01:00||;True|2026-02-08T09:44:42.9541012+01:00||;True|2026-02-08T09:44:34.5282303+01:00||;True|2026-02-08T09:42:53.1642218+01:00||;True|2026-02-07T20:47:10.6440687+01:00||;True|2026-02-07T20:45:09.1431081+01:00||;True|2026-02-07T20:43:29.6280085+01:00||;True|2026-02-07T20:42:07.5303009+01:00||;True|2026-02-07T20:40:45.5900631+01:00||;True|2026-02-07T20:39:21.4280903+01:00||;True|2026-02-07T20:37:35.6740413+01:00||;True|2026-02-07T20:35:28.7713095+01:00||;True|2026-02-07T17:44:22.3698834+01:00||;True|2026-02-07T17:41:18.9012786+01:00||;True|2026-02-07T17:38:04.4942892+01:00||;True|2026-02-07T17:36:20.2684316+01:00||;True|2026-02-07T17:34:04.9490195+01:00||;True|2026-02-07T17:22:59.3565852+01:00||;</History>
|
||||
<History>True|2026-03-08T07:13:35.2118387Z||;True|2026-03-07T21:30:15.7021682+01:00||;True|2026-03-07T16:04:27.6676302+01:00||;True|2026-03-03T07:42:58.6695248+01:00||;True|2026-03-02T18:56:44.9083635+01:00||;True|2026-03-02T15:22:04.7632771+01:00||;True|2026-03-02T15:17:19.5888051+01:00||;True|2026-03-02T14:44:15.1850254+01:00||;False|2026-03-02T14:43:43.8750165+01:00||;True|2026-03-02T13:00:06.4813259+01:00||;True|2026-03-02T09:00:14.6639978+01:00||;True|2026-02-26T14:00:46.9137562+01:00||;True|2026-02-26T10:52:44.7996454+01:00||;True|2026-02-26T10:20:38.9297393+01:00||;True|2026-02-26T08:17:22.1709972+01:00||;True|2026-02-26T08:01:54.5490566+01:00||;True|2026-02-26T07:56:47.9173498+01:00||;True|2026-02-26T05:50:34.4180646+01:00||;True|2026-02-25T16:00:31.8051644+01:00||;True|2026-02-25T15:40:22.6200444+01:00||;True|2026-02-25T15:32:39.6209326+01:00||;True|2026-02-25T15:03:49.5202958+01:00||;True|2026-02-25T14:49:40.4560899+01:00||;True|2026-02-25T10:41:35.9042956+01:00||;True|2026-02-25T10:33:42.2485129+01:00||;True|2026-02-25T10:05:23.9864404+01:00||;True|2026-02-24T20:45:52.7533529+01:00||;True|2026-02-24T17:49:48.6739610+01:00||;True|2026-02-24T14:30:47.0663499+01:00||;True|2026-02-24T09:28:30.5328425+01:00||;True|2026-02-24T08:40:15.6054714+01:00||;True|2026-02-24T07:59:34.6469067+01:00||;True|2026-02-24T07:30:03.4506392+01:00||;True|2026-02-23T08:26:05.4681353+01:00||;True|2026-02-22T10:44:29.6270572+01:00||;True|2026-02-22T10:41:26.3016875+01:00||;True|2026-02-22T10:30:20.0395713+01:00||;True|2026-02-22T10:06:09.3728289+01:00||;True|2026-02-20T11:11:41.2906293+01:00||;True|2026-02-20T10:46:35.4015642+01:00||;True|2026-02-20T09:45:14.8833885+01:00||;True|2026-02-20T07:32:39.1940489+01:00||;True|2026-02-18T09:12:43.1434580+01:00||;True|2026-02-17T15:15:14.8805757+01:00||;True|2026-02-17T11:09:40.4786451+01:00||;True|2026-02-17T10:45:37.3358353+01:00||;True|2026-02-17T10:33:30.6184470+01:00||;True|2026-02-16T18:55:30.1424518+01:00||;True|2026-02-16T18:01:46.0478978+01:00||;True|2026-02-16T14:51:53.3273467+01:00||;True|2026-02-16T14:12:09.6130777+01:00||;True|2026-02-16T11:21:18.5769808+01:00||;True|2026-02-16T10:08:08.4277947+01:00||;True|2026-02-16T09:52:01.8749049+01:00||;True|2026-02-16T08:13:22.5356518+01:00||;True|2026-02-13T12:36:18.0536988+01:00||;True|2026-02-13T07:29:34.9460520+01:00||;True|2026-02-13T07:27:07.4597689+01:00||;True|2026-02-13T07:23:53.8686289+01:00||;True|2026-02-13T07:21:55.2559788+01:00||;True|2026-02-13T07:19:52.5556550+01:00||;True|2026-02-13T07:18:16.9005327+01:00||;False|2026-02-13T07:17:55.2943268+01:00||;True|2026-02-13T07:16:44.2373881+01:00||;True|2026-02-13T07:14:10.2117483+01:00||;True|2026-02-13T07:06:07.9920856+01:00||;True|2026-02-13T06:48:45.3887087+01:00||;True|2026-02-12T09:21:36.9475377+01:00||;True|2026-02-11T09:09:26.3046534+01:00||;True|2026-02-09T12:16:03.1919757+01:00||;True|2026-02-09T10:52:16.6031577+01:00||;True|2026-02-09T10:43:50.3235884+01:00||;True|2026-02-09T10:32:56.5607905+01:00||;True|2026-02-09T09:28:25.4932552+01:00||;True|2026-02-09T09:11:35.2661821+01:00||;True|2026-02-09T09:09:05.8813514+01:00||;True|2026-02-09T08:54:25.9191904+01:00||;True|2026-02-09T08:41:16.2561697+01:00||;True|2026-02-09T08:22:16.8766070+01:00||;True|2026-02-09T08:09:42.8971751+01:00||;True|2026-02-08T11:04:49.3984275+01:00||;True|2026-02-08T11:00:30.1676134+01:00||;True|2026-02-08T10:02:58.9814683+01:00||;True|2026-02-08T09:53:57.1672910+01:00||;True|2026-02-08T09:50:45.8178289+01:00||;True|2026-02-08T09:47:06.6864472+01:00||;True|2026-02-08T09:44:42.9541012+01:00||;True|2026-02-08T09:44:34.5282303+01:00||;True|2026-02-08T09:42:53.1642218+01:00||;True|2026-02-07T20:47:10.6440687+01:00||;True|2026-02-07T20:45:09.1431081+01:00||;True|2026-02-07T20:43:29.6280085+01:00||;True|2026-02-07T20:42:07.5303009+01:00||;True|2026-02-07T20:40:45.5900631+01:00||;True|2026-02-07T20:39:21.4280903+01:00||;True|2026-02-07T20:37:35.6740413+01:00||;True|2026-02-07T20:35:28.7713095+01:00||;True|2026-02-07T17:44:22.3698834+01:00||;True|2026-02-07T17:41:18.9012786+01:00||;True|2026-02-07T17:38:04.4942892+01:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<File Include="App_Data/TableConfig.json">
|
||||
<publishTime>02/01/2026 19:14:03</publishTime>
|
||||
<publishTime>03/07/2026 13:31:30</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/HelpPage.css">
|
||||
<publishTime>03/06/2024 09:20:46</publishTime>
|
||||
<publishTime>06/03/2024 09:20:46</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/Views/Help/Api.cshtml">
|
||||
<publishTime>07/19/2024 12:24:15</publishTime>
|
||||
@@ -52,7 +52,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>07/19/2024 12:24:15</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml">
|
||||
<publishTime>03/06/2024 09:20:41</publishTime>
|
||||
<publishTime>06/03/2024 09:20:41</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml">
|
||||
<publishTime>07/19/2024 12:24:15</publishTime>
|
||||
@@ -67,49 +67,49 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>07/19/2024 12:24:15</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/Views/Shared/_Layout.cshtml">
|
||||
<publishTime>03/06/2024 09:20:40</publishTime>
|
||||
<publishTime>06/03/2024 09:20:40</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/Views/Web.config">
|
||||
<publishTime>03/06/2024 09:20:40</publishTime>
|
||||
<publishTime>06/03/2024 09:20:40</publishTime>
|
||||
</File>
|
||||
<File Include="Areas/HelpPage/Views/_ViewStart.cshtml">
|
||||
<publishTime>03/06/2024 09:20:40</publishTime>
|
||||
<publishTime>06/03/2024 09:20:40</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Antlr3.Runtime.dll">
|
||||
<publishTime>10/09/2013 17:29:20</publishTime>
|
||||
<publishTime>09/10/2013 17:29:20</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Antlr3.Runtime.pdb">
|
||||
<publishTime>10/09/2013 17:29:20</publishTime>
|
||||
<publishTime>09/10/2013 17:29:20</publishTime>
|
||||
</File>
|
||||
<File Include="bin/arm64/libSkiaSharp.dll">
|
||||
<publishTime>09/04/2024 19:25:14</publishTime>
|
||||
<publishTime>04/09/2024 19:25:14</publishTime>
|
||||
</File>
|
||||
<File Include="bin/BarcodeLib.dll">
|
||||
<publishTime>02/03/2026 10:48:32</publishTime>
|
||||
<publishTime>03/03/2026 08:30:20</publishTime>
|
||||
</File>
|
||||
<File Include="bin/BarcodeLib.pdb">
|
||||
<publishTime>02/03/2026 10:48:32</publishTime>
|
||||
<publishTime>03/03/2026 08:30:20</publishTime>
|
||||
</File>
|
||||
<File Include="bin/CSVNET.dll">
|
||||
<publishTime>02/03/2026 12:58:54</publishTime>
|
||||
<publishTime>03/02/2026 12:58:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/CSVNET.pdb">
|
||||
<publishTime>02/03/2026 12:58:54</publishTime>
|
||||
<publishTime>03/02/2026 12:58:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Database.dll">
|
||||
<publishTime>03/02/2026 15:19:54</publishTime>
|
||||
<publishTime>02/03/2026 15:19:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Database.dll.config">
|
||||
<publishTime>09/18/2025 08:15:15</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Database.pdb">
|
||||
<publishTime>03/02/2026 15:19:54</publishTime>
|
||||
<publishTime>02/03/2026 15:19:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/DataMatrix.net.dll">
|
||||
<publishTime>02/03/2026 12:58:54</publishTime>
|
||||
<publishTime>03/02/2026 12:58:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/DataMatrix.net.pdb">
|
||||
<publishTime>02/03/2026 12:58:54</publishTime>
|
||||
<publishTime>03/02/2026 12:58:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/de/System.Net.Http.Formatting.resources.dll">
|
||||
<publishTime>10/20/2023 22:35:02</publishTime>
|
||||
@@ -127,7 +127,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>10/20/2023 22:35:02</publishTime>
|
||||
</File>
|
||||
<File Include="bin/de/System.Web.Optimization.resources.dll">
|
||||
<publishTime>11/02/2014 16:28:40</publishTime>
|
||||
<publishTime>02/11/2014 16:28:40</publishTime>
|
||||
</File>
|
||||
<File Include="bin/de/System.Web.Razor.resources.dll">
|
||||
<publishTime>10/20/2023 22:35:02</publishTime>
|
||||
@@ -142,22 +142,22 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>10/20/2023 22:35:04</publishTime>
|
||||
</File>
|
||||
<File Include="bin/DOCGEN.dll">
|
||||
<publishTime>03/03/2026 07:42:56</publishTime>
|
||||
<publishTime>03/08/2026 08:13:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/DOCGEN.dll.config">
|
||||
<publishTime>09/18/2025 10:22:52</publishTime>
|
||||
</File>
|
||||
<File Include="bin/DOCGEN.pdb">
|
||||
<publishTime>03/03/2026 07:42:56</publishTime>
|
||||
<publishTime>03/08/2026 08:13:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/FastReport.Bars.dll">
|
||||
<publishTime>11/27/2023 09:49:58</publishTime>
|
||||
</File>
|
||||
<File Include="bin/FastReport.Compat.dll">
|
||||
<publishTime>07/09/2023 11:54:46</publishTime>
|
||||
<publishTime>09/07/2023 11:54:46</publishTime>
|
||||
</File>
|
||||
<File Include="bin/FastReport.DataVisualization.dll">
|
||||
<publishTime>07/09/2023 12:19:34</publishTime>
|
||||
<publishTime>09/07/2023 12:19:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/FastReport.dll">
|
||||
<publishTime>11/27/2023 09:50:34</publishTime>
|
||||
@@ -166,40 +166,40 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>11/27/2023 09:50:04</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Helper.dll">
|
||||
<publishTime>03/02/2026 15:19:48</publishTime>
|
||||
<publishTime>02/03/2026 15:19:48</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Helper.pdb">
|
||||
<publishTime>03/02/2026 15:19:48</publishTime>
|
||||
<publishTime>02/03/2026 15:19:48</publishTime>
|
||||
</File>
|
||||
<File Include="bin/libSkiaSharp.dylib">
|
||||
<publishTime>09/04/2024 18:58:02</publishTime>
|
||||
<publishTime>04/09/2024 18:58:02</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Logging.dll">
|
||||
<publishTime>03/02/2026 15:19:48</publishTime>
|
||||
<publishTime>02/03/2026 15:19:48</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Logging.dll.config">
|
||||
<publishTime>09/17/2025 15:09:13</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Logging.pdb">
|
||||
<publishTime>03/02/2026 15:19:48</publishTime>
|
||||
<publishTime>02/03/2026 15:19:48</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.AspNetCore.Http.Abstractions.dll">
|
||||
<publishTime>12/11/2018 18:29:00</publishTime>
|
||||
<publishTime>11/12/2018 18:29:00</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.AspNetCore.Http.dll">
|
||||
<publishTime>01/25/2019 00:18:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.AspNetCore.Http.Features.dll">
|
||||
<publishTime>12/11/2018 18:28:58</publishTime>
|
||||
<publishTime>11/12/2018 18:28:58</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.AspNetCore.WebUtilities.dll">
|
||||
<publishTime>12/11/2018 18:29:00</publishTime>
|
||||
<publishTime>11/12/2018 18:29:00</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.Bcl.AsyncInterfaces.dll">
|
||||
<publishTime>02/12/2025 00:12:14</publishTime>
|
||||
<publishTime>12/02/2025 00:12:14</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll">
|
||||
<publishTime>05/03/2023 23:41:40</publishTime>
|
||||
<publishTime>03/05/2023 23:41:40</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.Extensions.Configuration.Abstractions.dll">
|
||||
<publishTime>10/31/2023 16:04:06</publishTime>
|
||||
@@ -223,16 +223,16 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>10/31/2023 16:00:32</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.Net.Http.Headers.dll">
|
||||
<publishTime>12/11/2018 18:28:58</publishTime>
|
||||
<publishTime>11/12/2018 18:28:58</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Microsoft.Web.Infrastructure.dll">
|
||||
<publishTime>11/04/2022 19:09:46</publishTime>
|
||||
<publishTime>04/11/2022 19:09:46</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Model.dll">
|
||||
<publishTime>03/02/2026 15:19:48</publishTime>
|
||||
<publishTime>02/03/2026 15:19:48</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Model.pdb">
|
||||
<publishTime>03/02/2026 15:19:48</publishTime>
|
||||
<publishTime>02/03/2026 15:19:48</publishTime>
|
||||
</File>
|
||||
<File Include="bin/MW6.SDK.dll">
|
||||
<publishTime>08/19/2014 21:33:57</publishTime>
|
||||
@@ -244,37 +244,37 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>11/28/2018 00:07:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Newtonsoft.Json.dll">
|
||||
<publishTime>08/03/2023 06:09:56</publishTime>
|
||||
<publishTime>03/08/2023 06:09:56</publishTime>
|
||||
</File>
|
||||
<File Include="bin/NLog.Database.dll">
|
||||
<publishTime>10/08/2025 20:21:44</publishTime>
|
||||
<publishTime>08/10/2025 20:21:44</publishTime>
|
||||
</File>
|
||||
<File Include="bin/NLog.dll">
|
||||
<publishTime>06/21/2025 15:10:40</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OfficePrinter.dll">
|
||||
<publishTime>01/01/0001 00:00:00</publishTime>
|
||||
<publishTime>03/04/2026 16:33:51</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OfficePrinter.pdb">
|
||||
<publishTime>01/01/0001 00:00:00</publishTime>
|
||||
<publishTime>03/04/2026 16:33:51</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OfficeToPDFConverter.dll">
|
||||
<publishTime>02/03/2026 12:58:53</publishTime>
|
||||
<publishTime>03/02/2026 12:58:53</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OfficeToPDFConverter.pdb">
|
||||
<publishTime>02/03/2026 12:58:53</publishTime>
|
||||
<publishTime>03/02/2026 12:58:53</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OnDocOffice.dll">
|
||||
<publishTime>03/03/2026 07:42:56</publishTime>
|
||||
<publishTime>03/08/2026 08:13:33</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OnDocOffice.pdb">
|
||||
<publishTime>03/03/2026 07:42:56</publishTime>
|
||||
<publishTime>03/08/2026 08:13:33</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OnDoc_NetFramework.dll">
|
||||
<publishTime>03/03/2026 07:42:57</publishTime>
|
||||
<publishTime>03/08/2026 08:13:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/OnDoc_NetFramework.pdb">
|
||||
<publishTime>03/03/2026 07:42:57</publishTime>
|
||||
<publishTime>03/08/2026 08:13:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Owin.dll">
|
||||
<publishTime>11/13/2012 13:19:34</publishTime>
|
||||
@@ -322,10 +322,10 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>02/15/2022 06:21:10</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll">
|
||||
<publishTime>05/10/2021 02:47:54</publishTime>
|
||||
<publishTime>10/05/2021 02:47:54</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll">
|
||||
<publishTime>05/10/2021 02:49:46</publishTime>
|
||||
<publishTime>10/05/2021 02:49:46</publishTime>
|
||||
</File>
|
||||
<File Include="bin/roslyn/Microsoft.Managed.Core.CurrentVersions.targets">
|
||||
<publishTime>02/15/2022 06:33:08</publishTime>
|
||||
@@ -376,34 +376,34 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>02/15/2022 06:38:42</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Swashbuckle.Core.dll">
|
||||
<publishTime>08/07/2017 03:30:56</publishTime>
|
||||
<publishTime>07/08/2017 03:30:56</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.Compression.Base.dll">
|
||||
<publishTime>08/01/2025 12:18:28</publishTime>
|
||||
<publishTime>01/08/2025 12:18:28</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.DocIO.Base.dll">
|
||||
<publishTime>08/01/2025 12:21:18</publishTime>
|
||||
<publishTime>01/08/2025 12:21:18</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.DocToPDFConverter.Base.dll">
|
||||
<publishTime>08/01/2025 12:24:08</publishTime>
|
||||
<publishTime>01/08/2025 12:24:08</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.ExcelToPDFConverter.Base.dll">
|
||||
<publishTime>08/01/2025 12:29:16</publishTime>
|
||||
<publishTime>01/08/2025 12:29:16</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.Licensing.dll">
|
||||
<publishTime>08/01/2025 12:14:22</publishTime>
|
||||
<publishTime>01/08/2025 12:14:22</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.OfficeChart.Base.dll">
|
||||
<publishTime>08/01/2025 12:19:40</publishTime>
|
||||
<publishTime>01/08/2025 12:19:40</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.Pdf.Base.dll">
|
||||
<publishTime>08/01/2025 12:23:02</publishTime>
|
||||
<publishTime>01/08/2025 12:23:02</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.Presentation.Base.dll">
|
||||
<publishTime>08/01/2025 12:28:16</publishTime>
|
||||
<publishTime>01/08/2025 12:28:16</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Syncfusion.XlsIO.Base.dll">
|
||||
<publishTime>08/01/2025 12:25:24</publishTime>
|
||||
<publishTime>01/08/2025 12:25:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Buffers.dll">
|
||||
<publishTime>02/19/2020 11:05:18</publishTime>
|
||||
@@ -412,10 +412,10 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>05/15/2018 15:29:36</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.IO.Pipelines.dll">
|
||||
<publishTime>02/12/2025 00:12:24</publishTime>
|
||||
<publishTime>12/02/2025 00:12:24</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Memory.dll">
|
||||
<publishTime>08/05/2022 05:31:02</publishTime>
|
||||
<publishTime>05/08/2022 05:31:02</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Net.Http.Formatting.dll">
|
||||
<publishTime>10/20/2023 22:33:52</publishTime>
|
||||
@@ -427,10 +427,10 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>10/23/2021 01:40:18</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Text.Encodings.Web.dll">
|
||||
<publishTime>02/12/2025 00:18:34</publishTime>
|
||||
<publishTime>12/02/2025 00:18:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Text.Json.dll">
|
||||
<publishTime>02/12/2025 00:18:50</publishTime>
|
||||
<publishTime>12/02/2025 00:18:50</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Threading.Tasks.Extensions.dll">
|
||||
<publishTime>02/19/2020 11:05:18</publishTime>
|
||||
@@ -439,7 +439,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>05/15/2018 15:29:52</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Web.Cors.dll">
|
||||
<publishTime>01/10/2013 22:54:22</publishTime>
|
||||
<publishTime>10/01/2013 22:54:22</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Web.Helpers.dll">
|
||||
<publishTime>10/20/2023 22:33:58</publishTime>
|
||||
@@ -457,7 +457,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>01/01/0001 00:00:00</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Web.Optimization.dll">
|
||||
<publishTime>11/02/2014 15:26:04</publishTime>
|
||||
<publishTime>02/11/2014 15:26:04</publishTime>
|
||||
</File>
|
||||
<File Include="bin/System.Web.Razor.dll">
|
||||
<publishTime>10/20/2023 22:33:48</publishTime>
|
||||
@@ -472,10 +472,10 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>10/20/2023 22:33:58</publishTime>
|
||||
</File>
|
||||
<File Include="bin/vbBarcodes.dll">
|
||||
<publishTime>02/03/2026 12:58:54</publishTime>
|
||||
<publishTime>03/04/2026 16:33:51</publishTime>
|
||||
</File>
|
||||
<File Include="bin/vbBarcodes.pdb">
|
||||
<publishTime>02/03/2026 12:58:54</publishTime>
|
||||
<publishTime>03/04/2026 16:33:51</publishTime>
|
||||
</File>
|
||||
<File Include="bin/VBFileManagement.dll">
|
||||
<publishTime>02/28/2026 10:14:01</publishTime>
|
||||
@@ -484,127 +484,130 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>02/28/2026 10:14:01</publishTime>
|
||||
</File>
|
||||
<File Include="bin/VBOffice.dll">
|
||||
<publishTime>02/03/2026 12:58:53</publishTime>
|
||||
<publishTime>03/04/2026 16:33:51</publishTime>
|
||||
</File>
|
||||
<File Include="bin/VBOffice.pdb">
|
||||
<publishTime>02/03/2026 12:58:53</publishTime>
|
||||
<publishTime>03/04/2026 16:33:51</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Versandstrasse.dll">
|
||||
<publishTime>02/03/2026 12:58:53</publishTime>
|
||||
<publishTime>03/08/2026 08:12:43</publishTime>
|
||||
</File>
|
||||
<File Include="bin/Versandstrasse.pdb">
|
||||
<publishTime>02/03/2026 12:58:53</publishTime>
|
||||
<publishTime>03/08/2026 08:12:43</publishTime>
|
||||
</File>
|
||||
<File Include="bin/WebActivatorEx.dll">
|
||||
<publishTime>05/10/2016 15:11:52</publishTime>
|
||||
<publishTime>10/05/2016 15:11:52</publishTime>
|
||||
</File>
|
||||
<File Include="bin/WebGrease.dll">
|
||||
<publishTime>01/23/2014 13:57:34</publishTime>
|
||||
</File>
|
||||
<File Include="bin/x64/libSkiaSharp.dll">
|
||||
<publishTime>09/04/2024 19:24:38</publishTime>
|
||||
<publishTime>04/09/2024 19:24:38</publishTime>
|
||||
</File>
|
||||
<File Include="bin/x86/libSkiaSharp.dll">
|
||||
<publishTime>09/04/2024 19:24:38</publishTime>
|
||||
<publishTime>04/09/2024 19:24:38</publishTime>
|
||||
</File>
|
||||
<File Include="CLM.aspx">
|
||||
<publishTime>03/07/2026 19:26:48</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.css">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.min.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.rtl.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.rtl.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.rtl.min.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-grid.rtl.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.min.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.rtl.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.rtl.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.rtl.min.css">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-reboot.rtl.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:16</publishTime>
|
||||
<publishTime>06/03/2024 09:16:16</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.min.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.rtl.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.rtl.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.rtl.min.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap-utilities.rtl.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.min.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.rtl.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.rtl.css.map">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.rtl.min.css">
|
||||
<publishTime>03/06/2024 09:16:15</publishTime>
|
||||
<publishTime>06/03/2024 09:16:15</publishTime>
|
||||
</File>
|
||||
<File Include="Content/bootstrap.rtl.min.css.map">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Content/Site.css">
|
||||
<publishTime>03/06/2024 08:11:55</publishTime>
|
||||
<publishTime>06/03/2024 08:11:55</publishTime>
|
||||
</File>
|
||||
<File Include="DocTester.aspx">
|
||||
<publishTime>02/13/2026 07:13:12</publishTime>
|
||||
@@ -613,79 +616,82 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>02/08/2026 09:59:34</publishTime>
|
||||
</File>
|
||||
<File Include="favicon.ico">
|
||||
<publishTime>03/06/2024 08:11:55</publishTime>
|
||||
<publishTime>06/03/2024 08:11:55</publishTime>
|
||||
</File>
|
||||
<File Include="Global.asax">
|
||||
<publishTime>07/19/2024 12:25:43</publishTime>
|
||||
</File>
|
||||
<File Include="JSONViewer.aspx">
|
||||
<publishTime>03/07/2026 19:26:47</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.bundle.js">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.bundle.js.map">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.bundle.min.js">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.bundle.min.js.map">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.esm.js">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.esm.js.map">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.esm.min.js">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.esm.min.js.map">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.js">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.js.map">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.min.js">
|
||||
<publishTime>03/06/2024 09:16:14</publishTime>
|
||||
<publishTime>06/03/2024 09:16:14</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/bootstrap.min.js.map">
|
||||
<publishTime>03/06/2024 09:16:13</publishTime>
|
||||
<publishTime>06/03/2024 09:16:13</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.7.1.js">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.7.1.min.js">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.7.1.min.map">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.7.1.slim.js">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.7.1.slim.min.js">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/jquery-3.7.1.slim.min.map">
|
||||
<publishTime>03/06/2024 09:16:17</publishTime>
|
||||
<publishTime>06/03/2024 09:16:17</publishTime>
|
||||
</File>
|
||||
<File Include="Scripts/modernizr-2.8.3.js">
|
||||
<publishTime>03/06/2024 08:12:04</publishTime>
|
||||
<publishTime>06/03/2024 08:12:04</publishTime>
|
||||
</File>
|
||||
<File Include="SelectTable.aspx">
|
||||
<publishTime>02/01/2026 13:52:15</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Home/APIGenerator.cshtml">
|
||||
<publishTime>01/10/2024 20:21:44</publishTime>
|
||||
<publishTime>10/01/2024 20:21:44</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Home/Index.cshtml">
|
||||
<publishTime>04/14/2025 18:12:39</publishTime>
|
||||
<publishTime>03/07/2026 12:46:11</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Shared/Error.cshtml">
|
||||
<publishTime>03/06/2024 08:11:55</publishTime>
|
||||
<publishTime>06/03/2024 08:11:55</publishTime>
|
||||
</File>
|
||||
<File Include="Views/Shared/_Layout.cshtml">
|
||||
<publishTime>04/14/2025 18:11:03</publishTime>
|
||||
@@ -694,10 +700,10 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
<publishTime>07/19/2024 12:25:43</publishTime>
|
||||
</File>
|
||||
<File Include="Views/_ViewStart.cshtml">
|
||||
<publishTime>03/06/2024 08:11:55</publishTime>
|
||||
<publishTime>06/03/2024 08:11:55</publishTime>
|
||||
</File>
|
||||
<File Include="Web.config">
|
||||
<publishTime>03/02/2026 15:22:03</publishTime>
|
||||
<publishTime>03/07/2026 16:04:26</publishTime>
|
||||
</File>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,143 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectTable.aspx.cs" Inherits="WebApp.SelectTable" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<%--<title>Daten & JSON Editor</title>--%>
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
|
||||
<style>
|
||||
html, body { margin:0; padding:0; height:100%; font-family:Arial; background:#f4f6f8; }
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
.page-header h1 {
|
||||
margin:0;
|
||||
font-size:1.8rem;
|
||||
}
|
||||
.page-header p {
|
||||
margin:4px 0 0 0;
|
||||
font-size:0.95rem;
|
||||
color:#dbeafe;
|
||||
}
|
||||
.layout { display:flex; height:calc(100% - 70px); } /* 70px für header */
|
||||
.left {
|
||||
width:45%;
|
||||
padding:20px;
|
||||
background:#fff;
|
||||
border-right:1px solid #ddd;
|
||||
overflow:auto;
|
||||
}
|
||||
.right {
|
||||
width:55%;
|
||||
padding:0;
|
||||
height:100%;
|
||||
display:flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
#editor {
|
||||
flex:1;
|
||||
width:100%;
|
||||
}
|
||||
select { width:100%; padding:8px; margin-bottom:12px; }
|
||||
table { width:100%; border-collapse:collapse; font-size:14px; }
|
||||
th, td { padding:8px; border-bottom:1px solid #e5e7eb; }
|
||||
tr:hover { background:#f9fafb; }
|
||||
.pager a, .pager span { padding:5px 9px; border:1px solid #ddd; border-radius:5px; margin-left:4px; text-decoration:none; font-size:13px; }
|
||||
.pager span { background:#2563eb; color:#fff; border-color:#2563eb; }
|
||||
a.open { color:#2563eb; cursor:pointer; text-decoration:none; }
|
||||
a.open:hover { text-decoration:underline; }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- TITEL -->
|
||||
<div class="page-header">
|
||||
<h1>OnDoc-Json-Viewer</h1>
|
||||
<p>Tabellen auswählen, Datensätze ansehen und JSON anzeigen</p>
|
||||
</div>
|
||||
|
||||
<!-- LAYOUT -->
|
||||
<div class="layout">
|
||||
<form runat="server" class="left">
|
||||
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
|
||||
|
||||
<h2>Tabellen & Datensätze</h2>
|
||||
<asp:DropDownList
|
||||
ID="ddlTables"
|
||||
runat="server"
|
||||
AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlTables_SelectedIndexChanged" />
|
||||
|
||||
<asp:GridView
|
||||
ID="gvData"
|
||||
runat="server"
|
||||
AutoGenerateColumns="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
PagerStyle-CssClass="pager"
|
||||
OnPageIndexChanging="gvData_PageIndexChanging"
|
||||
OnRowCreated="gvData_RowCreated"
|
||||
OnRowDataBound="gvData_RowDataBound" />
|
||||
</form>
|
||||
|
||||
<!-- ACE EDITOR außerhalb des Form-Tags -->
|
||||
<div class="right">
|
||||
<div id="editor"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
|
||||
//let editor;
|
||||
//$(function () {
|
||||
// editor = ace.edit("editor");
|
||||
// editor.setTheme("ace/theme/tomorrow");
|
||||
// editor.session.setMode("ace/mode/json");
|
||||
// editor.setShowPrintMargin(false);
|
||||
// editor.session.setTabSize(2);
|
||||
// editor.session.setUseSoftTabs(true);
|
||||
|
||||
// editor.commands.addCommand({
|
||||
// name: "find",
|
||||
// bindKey: { win: "Ctrl-F", mac: "Command-F" },
|
||||
// exec: function (ed) {
|
||||
// ace.require("ace/ext/searchbox").Search(ed);
|
||||
// }
|
||||
// });
|
||||
//});
|
||||
|
||||
function loadJson(tableKey, id) {
|
||||
|
||||
editor.setValue("// lade JSON ...", -1);
|
||||
|
||||
PageMethods.GetJson(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
|
||||
editor.setValue(result, -1);
|
||||
},
|
||||
function (err) {
|
||||
|
||||
editor.setValue(JSON.stringify({ error: err.get_message() }, null, 2), -1);
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,156 +0,0 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Web.Services;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web;
|
||||
using Newtonsoft.Json;
|
||||
using System.Web.UI;
|
||||
using SecuringWebApiUsingApiKey.Middleware;
|
||||
using System.Configuration;
|
||||
using Model;
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
public partial class SelectTable : System.Web.UI.Page
|
||||
{
|
||||
private string ConnectionString = StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm");
|
||||
|
||||
|
||||
private TableConfig CurrentTable =>
|
||||
TableConfigProvider.LoadConfig().Tables.FirstOrDefault(t => t.Key == ddlTables.SelectedValue);
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
BindTables();
|
||||
}
|
||||
|
||||
private void BindTables()
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
ddlTables.DataSource = config.Tables;
|
||||
ddlTables.DataTextField = "DisplayName";
|
||||
ddlTables.DataValueField = "Key";
|
||||
ddlTables.DataBind();
|
||||
ddlTables.Items.Insert(0, "-- bitte wählen --");
|
||||
}
|
||||
|
||||
protected void ddlTables_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
gvData.PageIndex = 0;
|
||||
LoadTableData();
|
||||
}
|
||||
|
||||
protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||||
{
|
||||
gvData.PageIndex = e.NewPageIndex;
|
||||
LoadTableData();
|
||||
}
|
||||
|
||||
private void LoadTableData()
|
||||
{
|
||||
if (ddlTables.SelectedIndex <= 0 || CurrentTable == null) return;
|
||||
var cfg = CurrentTable;
|
||||
|
||||
using (var con = new SqlConnection(ConnectionString))
|
||||
using (var cmd = new SqlCommand(cfg.SqlList, con))
|
||||
{
|
||||
var dt = new DataTable();
|
||||
con.Open();
|
||||
dt.Load(cmd.ExecuteReader());
|
||||
gvData.DataSource = dt;
|
||||
gvData.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvData_RowCreated(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.Header)
|
||||
e.Row.Cells.Add(new TableHeaderCell { Text = "Details" });
|
||||
}
|
||||
|
||||
protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType != DataControlRowType.DataRow) return;
|
||||
var cfg = CurrentTable;
|
||||
if (cfg == null) return;
|
||||
|
||||
var id = DataBinder.Eval(e.Row.DataItem, cfg.IdField)?.ToString();
|
||||
if (string.IsNullOrEmpty(id)) return;
|
||||
|
||||
string tableKeyJs = HttpUtility.JavaScriptStringEncode(cfg.Key);
|
||||
string idJs = HttpUtility.JavaScriptStringEncode(id);
|
||||
|
||||
var cell = new TableCell();
|
||||
var lnk = new LinkButton
|
||||
{
|
||||
Text = "Öffnen",
|
||||
CssClass = "open"
|
||||
};
|
||||
lnk.OnClientClick = $"loadJson('{tableKeyJs}','{idJs}'); return false;";
|
||||
cell.Controls.Add(lnk);
|
||||
e.Row.Cells.Add(cell);
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
//public static object GetJson(string table, string id)
|
||||
//{
|
||||
// var config = TableConfigProvider.LoadConfig();
|
||||
// var cfg = config.Tables.FirstOrDefault(t => t.Key == table);
|
||||
// if (cfg == null) return new { error = "Tabelle nicht gefunden" };
|
||||
|
||||
// using (var con = new SqlConnection(StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm")))
|
||||
// using (var cmd = new SqlCommand(cfg.SqlById, con))
|
||||
// {
|
||||
// cmd.Parameters.AddWithValue("@id", id);
|
||||
// con.Open();
|
||||
// var json = cmd.ExecuteScalar()?.ToString();
|
||||
// if (string.IsNullOrEmpty(json))
|
||||
// return new { error = "Datensatz nicht gefunden" };
|
||||
// return JsonConvert.DeserializeObject(json);
|
||||
// }
|
||||
//}
|
||||
|
||||
public static object GetJson(string table, string id)
|
||||
{
|
||||
var config = TableConfigProvider.LoadConfig();
|
||||
var cfg = config.Tables.FirstOrDefault(t => t.Key == table);
|
||||
if (cfg == null) return"Tabelle nicht gefunden" ;
|
||||
|
||||
using (var con = new SqlConnection(StringCipher.Decrypt(ConfigurationManager.ConnectionStrings["DocTesterconnectionstring"].ConnectionString, "i%!k!7pab%bNLdA5hE4pkR4XaB%E^jB3d9tHuQ4pbF&BZjF7SB#WBWit5#HrbJiLrLVm")))
|
||||
using (var cmd = new SqlCommand(cfg.SqlById, con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@id", id);
|
||||
con.Open();
|
||||
string json = cmd.ExecuteScalar()?.ToString();
|
||||
if (string.IsNullOrEmpty(json)) return "Datensatz nicht gefunden" ;
|
||||
|
||||
try
|
||||
{
|
||||
if (json.TrimStart().StartsWith("\""))
|
||||
{
|
||||
json = JsonConvert.DeserializeObject<string>(json);
|
||||
}
|
||||
|
||||
Versandpaket vp = new Versandpaket();
|
||||
vp = JsonConvert.DeserializeObject<Versandpaket>(json);
|
||||
vp.finaldoc = "ABCD...";
|
||||
foreach (Versanddokument vd in vp.Dokument)
|
||||
{
|
||||
vd.dokument = "ABC...";
|
||||
}
|
||||
//vp.Dokument.Clear();
|
||||
json = JsonConvert.SerializeObject(vp, Formatting.Indented);
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
// JSON in Objekt parsen, damit PageMethods es korrekt als JS-Objekt liefert
|
||||
return (json);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
44
API_NetFramework/SelectTable.aspx.designer.cs
generated
44
API_NetFramework/SelectTable.aspx.designer.cs
generated
@@ -1,44 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <automatisch generiert>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
//
|
||||
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code neu generiert wird.
|
||||
// </automatisch generiert>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebApp
|
||||
{
|
||||
|
||||
|
||||
public partial class SelectTable
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// ScriptManager1-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.ScriptManager ScriptManager1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlTables-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlTables;
|
||||
|
||||
/// <summary>
|
||||
/// gvData-Steuerelement.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Automatisch generiertes Feld.
|
||||
/// Zum Ändern Felddeklaration aus der Designerdatei in eine Code-Behind-Datei verschieben.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvData;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using Newtonsoft.Json;
|
||||
using System.IO;
|
||||
using System.Security.Permissions;
|
||||
using System.Web;
|
||||
|
||||
namespace WebApp
|
||||
@@ -18,6 +19,9 @@ namespace WebApp
|
||||
public string IdField { get; set; }
|
||||
public string DisplayField { get; set; }
|
||||
public string JsonField { get; set; }
|
||||
public string Buttons { get; set; }
|
||||
public string AnzeigeDokument { get; set; }
|
||||
public string FilterColumns { get; set; }
|
||||
}
|
||||
|
||||
public static class TableConfigProvider
|
||||
|
||||
@@ -1,13 +1,47 @@
|
||||
<main>
|
||||
<section class="row" aria-labelledby="aspnetTitle">
|
||||
<h1 id="aspnetTitle">OnDoc-Webservice Version 1.1 / 14. April 2025</h1>
|
||||
<h1 id="aspnetTitle">OnDoc-Webservice Version 1.2 / 8. März 2026</h1>
|
||||
</section>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
<a href="/clm.aspx" class="btn btn-primary">
|
||||
<i class="bi bi-box-arrow-up-right"></i> CLM-Dokumente verwalten
|
||||
</a>
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<section class="row" aria-labelledby="aspnetTitle">
|
||||
</section>
|
||||
</main>
|
||||
@@ -60,6 +60,14 @@
|
||||
<compilation debug="true" targetFramework="4.8.1" />
|
||||
<httpRuntime targetFramework="4.8.1" maxRequestLength="102400" />
|
||||
</system.web>
|
||||
<system.web.extensions>
|
||||
<scripting>
|
||||
<webServices>
|
||||
<!-- Erhöht den Wert z.B. auf 100 MB (102400 KB) -->
|
||||
<jsonSerialization maxJsonLength="2147483647" />
|
||||
</webServices>
|
||||
</scripting>
|
||||
</system.web.extensions>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -60,6 +60,14 @@
|
||||
<compilation debug="true" targetFramework="4.8.1" />
|
||||
<httpRuntime targetFramework="4.8.1" maxRequestLength="102400" />
|
||||
</system.web>
|
||||
<system.web.extensions>
|
||||
<scripting>
|
||||
<webServices>
|
||||
<!-- Erhöht den Wert z.B. auf 100 MB (102400 KB) -->
|
||||
<jsonSerialization maxJsonLength="2147483647" />
|
||||
</webServices>
|
||||
</scripting>
|
||||
</system.web.extensions>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1 +1 @@
|
||||
8b3fd221992aab54f67ae9f4dacf0686730bb97624d545a07f06e1dc6380764a
|
||||
80b3e6cb482cb8888f46ccf8d3d82e0f1794783219cfa5781ef01ad64092fb28
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,14 +1,5 @@
|
||||
{
|
||||
"tables": [
|
||||
{
|
||||
"key": "ProvDokuments",
|
||||
"displayName": "ESS-Dokumente",
|
||||
"sqlList": "SELECT ProvDokumentid as id, provDokumentID as Name FROM ProvDokuments order by erstelltam desc",
|
||||
"sqlById": "SELECT JavaScriptObject as JsonData FROM ProvDokuments where provdokumentid=@id",
|
||||
"idField": "Id",
|
||||
"displayField": "ProvDokumentID",
|
||||
"jsonField": "JsonData"
|
||||
},
|
||||
{
|
||||
"key": "Ondoc_Versandstrasse_Paket",
|
||||
"displayName": "Ondoc_Versandstrasse_Paket",
|
||||
@@ -16,7 +7,10 @@
|
||||
"sqlById": "SELECT paket as JsonData from Ondoc_Versandstrasse_Paket where id= @id ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "JsonData"
|
||||
"jsonField": "JsonData",
|
||||
"Buttons": "Öffnen",
|
||||
"AnzeigeDokument": "",
|
||||
"FilterColumns": ""
|
||||
},
|
||||
{
|
||||
"key": "NLOGApiDoc",
|
||||
@@ -25,7 +19,35 @@
|
||||
"sqlById": "SELECT div as JsonData from edoka_journale.dbo.nlogapidoc where id= @id ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "JsonData"
|
||||
"jsonField": "JsonData",
|
||||
"Buttons": "Öffnen",
|
||||
"AnzeigeDokument": "",
|
||||
"FilterColumns": "GUID"
|
||||
|
||||
},
|
||||
{
|
||||
"key": "CLMDokumente",
|
||||
"displayName": "CLM-Dokumente",
|
||||
"sqlList": "SELECT ID, clmdokumentid as CLM_ID, GUID, Erstellt_Am, Aktiv, Archivstatus, Archiviert from ondoc_clm_dokumente [FILTER] order by Id desc",
|
||||
"sqlById": "SELECT jsondata as JsonData from ondoc_clm_dokumente where id= @id ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "JsonData",
|
||||
"Buttons": "Öffnen;Anzeigen",
|
||||
"AnzeigeDokument": "SELECT dbo.BinaryToBase64(dokument) FROM dbo.OnDoc_CLM_Dokumente INNER JOIN dbo.Doks ON dbo.OnDoc_CLM_Dokumente.dokumentid = dbo.Doks.DokumentID where dbo.ondoc_clm_dokumente.id=@id",
|
||||
"FilterColumns": "clmdokumentid;archivstatus"
|
||||
},
|
||||
{
|
||||
"key": "CLMJournal",
|
||||
"displayName": "CLM-Journal",
|
||||
"sqlList": "SELECT ID, clmdokumentid as CLM_ID, Dokumentid, GUID, Erstellt_Am, Aktiv, Archivstatus, Archiviert, Archiviert_am from ondoc_clm_dokumente [FILTER] order by Id desc",
|
||||
"sqlById": " ",
|
||||
"idField": "ID",
|
||||
"displayField": "ID",
|
||||
"jsonField": "",
|
||||
"Buttons": "Anzeigen",
|
||||
"AnzeigeDokument": "SELECT dbo.BinaryToBase64(dokument) FROM dbo.OnDoc_CLM_Dokumente INNER JOIN dbo.Doks ON dbo.OnDoc_CLM_Dokumente.dokumentid = dbo.Doks.DokumentID where dbo.ondoc_clm_dokumente.id=@id",
|
||||
"FilterColumns": "clmdokumentid;archivstatus;dokumentid"
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
303
API_NetFramework/obj/Debug/Package/PackageTmp/CLM.aspx
Normal file
303
API_NetFramework/obj/Debug/Package/PackageTmp/CLM.aspx
Normal file
@@ -0,0 +1,303 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CLM.aspx.cs" Inherits="WebApp.CLM" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<%--<title>Daten & JSON Editor</title>--%>
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" />
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.23.4/ace.js"></script>
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-family: Arial;
|
||||
background: #f4f6f8;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.page-header h1 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
.page-header p {
|
||||
margin: 4px 0 0 0;
|
||||
font-size: 0.95rem;
|
||||
color: #dbeafe;
|
||||
}
|
||||
|
||||
.layout {
|
||||
display: flex;
|
||||
height: calc(100% - 70px);
|
||||
}
|
||||
/* 70px für header */
|
||||
.left {
|
||||
width: 45%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.leftfull {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.right {
|
||||
width: 55%;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#editor {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
.pager a, .pager span {
|
||||
padding: 5px 9px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
margin-left: 4px;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.pager span {
|
||||
background: #2563eb;
|
||||
color: #fff;
|
||||
border-color: #2563eb;
|
||||
}
|
||||
|
||||
a.open {
|
||||
color: #2563eb;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.open:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#pdfFrame {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.leftpanel {
|
||||
border-right: 1px solid #ccc;
|
||||
height: 100%;
|
||||
}
|
||||
.navbar-custom {
|
||||
background-color: #0d6efd;
|
||||
padding-top:20px;
|
||||
padding-bottom:20px;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand {
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.navbar-custom .btn {
|
||||
border-color: white;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar-custom .btn:hover {
|
||||
background: white;
|
||||
color: #0d6efd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<nav class="navbar navbar-expand-lg navbar-custom">
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- TITEL LINKS -->
|
||||
<span class="navbar-brand"><h1>CLM</h1>
|
||||
</span>
|
||||
|
||||
|
||||
<div class="ms-auto d-flex gap-2">
|
||||
|
||||
<!-- BUTTON -->
|
||||
<button class="btn btn-outline-light" onclick="generateFromJson()">
|
||||
Generieren
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
<!-- LAYOUT -->
|
||||
<div class="layout">
|
||||
<form runat="server" class="left" id="masterform" >
|
||||
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
|
||||
|
||||
<h2>Tabellen & Datensätze</h2>
|
||||
<asp:DropDownList
|
||||
Width="300"
|
||||
ID="ddlTables"
|
||||
runat="server"
|
||||
AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlTables_SelectedIndexChanged" />
|
||||
|
||||
|
||||
|
||||
<asp:Label ID="lblFilter" runat="server" Text="Filter:"></asp:Label>
|
||||
<asp:TextBox ID="txtfilter" runat="server" Width="207px"></asp:TextBox>
|
||||
|
||||
|
||||
<asp:Button ID="btnRefresh" runat="server" Text="Aktualisieren" OnClick="ddlTables_SelectedIndexChanged" />
|
||||
<asp:Button ID="Button1" runat="server" Text="Filter löschen" OnClick="ddlTables_clearfilter" />
|
||||
|
||||
<asp:GridView
|
||||
ID="gvData"
|
||||
runat="server"
|
||||
AutoGenerateColumns="true"
|
||||
AllowPaging="true"
|
||||
PageSize="15"
|
||||
PagerStyle-CssClass="pager"
|
||||
OnPageIndexChanging="gvData_PageIndexChanging"
|
||||
OnRowCreated="gvData_RowCreated"
|
||||
OnRowDataBound="gvData_RowDataBound" />
|
||||
|
||||
</form>
|
||||
|
||||
<div id="editor"></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
editor.session.doc
|
||||
|
||||
//let editor;
|
||||
//$(function () {
|
||||
// editor = ace.edit("editor");
|
||||
// editor.setTheme("ace/theme/tomorrow");
|
||||
// editor.session.setMode("ace/mode/json");
|
||||
// editor.setShowPrintMargin(false);
|
||||
// editor.session.setTabSize(2);
|
||||
// editor.session.setUseSoftTabs(true);
|
||||
|
||||
// editor.commands.addCommand({
|
||||
// name: "find",
|
||||
// bindKey: { win: "Ctrl-F", mac: "Command-F" },
|
||||
// exec: function (ed) {
|
||||
// ace.require("ace/ext/searchbox").Search(ed);
|
||||
// }
|
||||
// });
|
||||
//});
|
||||
function generateFromJson() {
|
||||
|
||||
var jsonText = editor.getValue();
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/API/DokumentGenerator",
|
||||
data: jsonText,
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
headers: {
|
||||
"Authorization": "Bearer " + "pZkuG6l6ORCEckqQimPK58PO1A9EnkMtL5oCgRX9WiWnD4xeH7ikGzhWnTBy/vk8J4Iiz8gCSx9uFHA4+DvITG0roO97sk82d/0BCjVlwLWINpXlJfGYEF3X96AdoCQvb3ruwv/tVqEHsSU5aNfyxBAe+EhLTHQ8t7ysgJZWh98="
|
||||
},
|
||||
success: function (response) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + response.file + "'></iframe>");
|
||||
//alert("Server Response: " + response.file);
|
||||
},
|
||||
|
||||
error: function (err) {
|
||||
alert("Error: " + err.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function showDoc(tableKey, id) {
|
||||
PageMethods.GetDoc(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + result + "'></iframe>");
|
||||
},
|
||||
function (err) {
|
||||
|
||||
alert(err.get_message())
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
function loadJson(tableKey, id) {
|
||||
|
||||
editor.setValue("// lade JSON ...", -1);
|
||||
|
||||
PageMethods.GetJson(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
editor.setValue(result, -1);
|
||||
},
|
||||
function (err) {
|
||||
|
||||
editor.setValue(JSON.stringify({ error: err.get_message() }, null, 2), -1);
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,212 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>JSON Editor → PDF Preview</title>
|
||||
<script>
|
||||
|
||||
|
||||
</script>
|
||||
<!-- ACE
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/ace.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/mode-json.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.32.6/theme-tomorrow.min.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
-->
|
||||
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
.toolbar {
|
||||
padding: 10px;
|
||||
background: #f5f5f5;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.toolbar input {
|
||||
width: 220px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.toolbar button {
|
||||
margin-left: 5px;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
height: calc(100vh - 60px);
|
||||
}
|
||||
|
||||
.left, .right {
|
||||
flex: 1;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.left {
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
#editor {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
#pdfFrame {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid #ccc;
|
||||
background: #fafafa;
|
||||
}
|
||||
html, body { margin:0; padding:0; height:100%; font-family:Arial; background:#f4f6f8; }
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
.page-header h1 {
|
||||
margin:0;
|
||||
font-size:1.8rem;
|
||||
}
|
||||
.page-header p {
|
||||
margin:4px 0 0 0;
|
||||
font-size:0.95rem;
|
||||
color:#dbeafe;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page-header">
|
||||
<h1>OnDoc-DocPreview</h1>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
<div class="toolbar">
|
||||
<label>Schlüssel:</label>
|
||||
<input type="text" id="key" placeholder="provDokumentID" />
|
||||
<button onclick="loadJson()">Laden</button>
|
||||
<button onclick="saveJson()">Speichern</button>
|
||||
<button onclick="generatePdf()">PDF generieren</button>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<!-- LINKS: JSON -->
|
||||
<div class="left">
|
||||
<div id="editor">{}</div>
|
||||
</div>
|
||||
|
||||
<!-- RECHTS: PDF -->
|
||||
<table>
|
||||
<tr>
|
||||
<div class="right">
|
||||
<iframe id="pdfFrame" title="PDF Vorschau"></iframe>
|
||||
</div>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const apiBase = "/api/json";
|
||||
|
||||
|
||||
// ACE INIT
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
const editor1 = ace.edit("editor");
|
||||
editor1.setTheme("ace/theme/tomorrow");
|
||||
editor1.session.setMode("ace/mode/json");
|
||||
editor1.setShowPrintMargin(false);
|
||||
editor1.session.setTabSize(2);
|
||||
editor1.session.setUseSoftTabs(true);
|
||||
|
||||
// JSON LADEN
|
||||
function loadJson() {
|
||||
|
||||
editor.setValue("", -1);
|
||||
clearPdfPreview();
|
||||
const key = $("#key").val();
|
||||
if (!key) { alert("Bitte Schlüssel eingeben"); return; }
|
||||
|
||||
$.get(apiBase + "/load/" + encodeURIComponent(key))
|
||||
.done(data => editor.setValue(data, -1))
|
||||
.fail(() => alert("Kein Eintrag gefunden"));
|
||||
}
|
||||
|
||||
// JSON SPEICHERN
|
||||
function saveJson() {
|
||||
const key = $("#key").val();
|
||||
const json = editor.getValue();
|
||||
|
||||
if (!key) { alert("Bitte Schlüssel eingeben"); return; }
|
||||
|
||||
// try { JSON.parse(json); }
|
||||
// catch { alert("Ungültiges JSON"); return; }
|
||||
|
||||
$.ajax({
|
||||
url: apiBase + "/save",
|
||||
type: "POST",
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify({ key: key, json: json }),
|
||||
success: () => alert("Gespeichert")
|
||||
});
|
||||
}
|
||||
|
||||
// PDF GENERIEREN & EMBEDDED ANZEIGEN
|
||||
function generatePdf() {
|
||||
const key = $("#key").val();
|
||||
if (!key) { alert("Bitte Schlüssel eingeben"); return; }
|
||||
|
||||
fetch(apiBase + "/generatepdf", {
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({
|
||||
key: key,
|
||||
json: editor.getValue()
|
||||
})
|
||||
})
|
||||
.then(r => {
|
||||
if (!r.ok) throw new Error("PDF-Fehler");
|
||||
return r.blob();
|
||||
})
|
||||
.then(blob => {
|
||||
const url = URL.createObjectURL(blob);
|
||||
document.getElementById("pdfFrame").src = url;
|
||||
})
|
||||
.catch(err => alert(err.message));
|
||||
}
|
||||
function clearPdfPreview() {
|
||||
const frame = document.getElementById("pdfFrame");
|
||||
|
||||
// iframe leeren
|
||||
frame.src = "";
|
||||
|
||||
// optional: alte Blob-URL freigeben
|
||||
if (frame.dataset.blobUrl) {
|
||||
URL.revokeObjectURL(frame.dataset.blobUrl);
|
||||
frame.dataset.blobUrl = "";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
314
API_NetFramework/obj/Debug/Package/PackageTmp/JSONViewer.aspx
Normal file
314
API_NetFramework/obj/Debug/Package/PackageTmp/JSONViewer.aspx
Normal file
@@ -0,0 +1,314 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JSONViewer.aspx.cs" Inherits="WebApp.JSONViewer" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<%--<title>Daten & JSON Editor</title>--%>
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
<script src="/Scripts/bootstrap.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" />
|
||||
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.23.4/ace.js"></script>
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
font-family: Arial;
|
||||
background: #f4f6f8;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.page-header h1 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
.page-header p {
|
||||
margin: 4px 0 0 0;
|
||||
font-size: 0.95rem;
|
||||
color: #dbeafe;
|
||||
}
|
||||
|
||||
.layout {
|
||||
display: flex;
|
||||
height: calc(100% - 70px);
|
||||
}
|
||||
/* 70px für header */
|
||||
.left {
|
||||
width: 45%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.leftfull {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
overflow: auto;
|
||||
}
|
||||
.right {
|
||||
width: 55%;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#editor {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 8px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
tr:hover {
|
||||
background: #f9fafb;
|
||||
}
|
||||
|
||||
.pager a, .pager span {
|
||||
padding: 5px 9px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 5px;
|
||||
margin-left: 4px;
|
||||
text-decoration: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.pager span {
|
||||
background: #2563eb;
|
||||
color: #fff;
|
||||
border-color: #2563eb;
|
||||
}
|
||||
|
||||
a.open {
|
||||
color: #2563eb;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.open:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#pdfFrame {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.leftpanel {
|
||||
border-right: 1px solid #ccc;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.navbar-custom {
|
||||
background-color: #0d6efd;
|
||||
padding-top:20px;
|
||||
padding-bottom:20px;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand {
|
||||
color: white;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.navbar-custom .btn {
|
||||
border-color: white;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.navbar-custom .btn:hover {
|
||||
background: white;
|
||||
color: #0d6efd;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<nav class="navbar navbar-expand-lg navbar-custom">
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- TITEL LINKS -->
|
||||
<span class="navbar-brand">OnDoc-JSON-Viewer
|
||||
</span>
|
||||
|
||||
|
||||
<div class="ms-auto d-flex gap-2">
|
||||
|
||||
<!-- BUTTON -->
|
||||
<button class="btn btn-outline-light" onclick="generateFromJson()">
|
||||
Generieren
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
<%--<div class="page-header">
|
||||
<h1>OnDoc-Json-Viewer</h1>
|
||||
<p>Tabellen auswählen, Datensätze ansehen und JSON anzeigen</p>
|
||||
</div>--%>
|
||||
|
||||
<!-- LAYOUT -->
|
||||
<div class="layout">
|
||||
<form runat="server" class="left" id="masterform">
|
||||
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
|
||||
|
||||
<h2>Tabellen & Datensätze</h2>
|
||||
<asp:DropDownList
|
||||
Width="300"
|
||||
ID="ddlTables"
|
||||
runat="server"
|
||||
AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlTables_SelectedIndexChanged" />
|
||||
|
||||
|
||||
|
||||
<asp:Label ID="lblFilter" runat="server" Text="Filter:"></asp:Label>
|
||||
<asp:TextBox ID="txtfilter" runat="server" Width="207px"></asp:TextBox>
|
||||
|
||||
|
||||
<asp:Button ID="btnRefresh" runat="server" Text="Aktualisieren" OnClick="ddlTables_SelectedIndexChanged" />
|
||||
<asp:Button ID="Button1" runat="server" Text="Filter löschen" OnClick="ddlTables_clearfilter" />
|
||||
|
||||
<asp:GridView
|
||||
ID="gvData"
|
||||
runat="server"
|
||||
AutoGenerateColumns="true"
|
||||
AllowPaging="true"
|
||||
PageSize="15"
|
||||
PagerStyle-CssClass="pager"
|
||||
OnPageIndexChanging="gvData_PageIndexChanging"
|
||||
OnRowCreated="gvData_RowCreated"
|
||||
OnRowDataBound="gvData_RowDataBound" />
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
<div id="editor"></div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
editor.session.doc
|
||||
|
||||
//let editor;
|
||||
//$(function () {
|
||||
// editor = ace.edit("editor");
|
||||
// editor.setTheme("ace/theme/tomorrow");
|
||||
// editor.session.setMode("ace/mode/json");
|
||||
// editor.setShowPrintMargin(false);
|
||||
// editor.session.setTabSize(2);
|
||||
// editor.session.setUseSoftTabs(true);
|
||||
|
||||
// editor.commands.addCommand({
|
||||
// name: "find",
|
||||
// bindKey: { win: "Ctrl-F", mac: "Command-F" },
|
||||
// exec: function (ed) {
|
||||
// ace.require("ace/ext/searchbox").Search(ed);
|
||||
// }
|
||||
// });
|
||||
//});
|
||||
function generateFromJson() {
|
||||
|
||||
var jsonText = editor.getValue();
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/API/DokumentGenerator",
|
||||
data: jsonText,
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
headers: {
|
||||
"Authorization": "Bearer " + "pZkuG6l6ORCEckqQimPK58PO1A9EnkMtL5oCgRX9WiWnD4xeH7ikGzhWnTBy/vk8J4Iiz8gCSx9uFHA4+DvITG0roO97sk82d/0BCjVlwLWINpXlJfGYEF3X96AdoCQvb3ruwv/tVqEHsSU5aNfyxBAe+EhLTHQ8t7ysgJZWh98="
|
||||
},
|
||||
success: function (response) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + response.file + "'></iframe>");
|
||||
//alert("Server Response: " + response.file);
|
||||
},
|
||||
|
||||
error: function (err) {
|
||||
alert("Error: " + err.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function showDoc(tableKey, id) {
|
||||
PageMethods.GetDoc(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
var pdfWindow = window.open("");
|
||||
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64," + result + "'></iframe>");
|
||||
},
|
||||
function (err) {
|
||||
|
||||
alert(err.get_message())
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
function loadJson(tableKey, id) {
|
||||
|
||||
editor.setValue("// lade JSON ...", -1);
|
||||
|
||||
PageMethods.GetJson(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
editor.setValue(result, -1);
|
||||
},
|
||||
function (err) {
|
||||
|
||||
editor.setValue(JSON.stringify({ error: err.get_message() }, null, 2), -1);
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,143 +0,0 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectTable.aspx.cs" Inherits="WebApp.SelectTable" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head runat="server">
|
||||
<%--<title>Daten & JSON Editor</title>--%>
|
||||
<script src="/Scripts/ace/ace.js"></script>
|
||||
<script src="/Scripts/ace/mode-json.min.js"></script>
|
||||
<script src="/Scripts/ace/theme-tomorrow.min.js"></script>
|
||||
<script src="/Scripts/ace/worker-json.js"></script>
|
||||
<script src="/Scripts/jquery.min.js"></script>
|
||||
<script src="/Scripts/ace/ext-searchbox.js"></script>
|
||||
|
||||
<style>
|
||||
html, body { margin:0; padding:0; height:100%; font-family:Arial; background:#f4f6f8; }
|
||||
.page-header {
|
||||
background-color: #2563eb;
|
||||
color: #fff;
|
||||
padding: 15px 30px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
.page-header h1 {
|
||||
margin:0;
|
||||
font-size:1.8rem;
|
||||
}
|
||||
.page-header p {
|
||||
margin:4px 0 0 0;
|
||||
font-size:0.95rem;
|
||||
color:#dbeafe;
|
||||
}
|
||||
.layout { display:flex; height:calc(100% - 70px); } /* 70px für header */
|
||||
.left {
|
||||
width:45%;
|
||||
padding:20px;
|
||||
background:#fff;
|
||||
border-right:1px solid #ddd;
|
||||
overflow:auto;
|
||||
}
|
||||
.right {
|
||||
width:55%;
|
||||
padding:0;
|
||||
height:100%;
|
||||
display:flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
#editor {
|
||||
flex:1;
|
||||
width:100%;
|
||||
}
|
||||
select { width:100%; padding:8px; margin-bottom:12px; }
|
||||
table { width:100%; border-collapse:collapse; font-size:14px; }
|
||||
th, td { padding:8px; border-bottom:1px solid #e5e7eb; }
|
||||
tr:hover { background:#f9fafb; }
|
||||
.pager a, .pager span { padding:5px 9px; border:1px solid #ddd; border-radius:5px; margin-left:4px; text-decoration:none; font-size:13px; }
|
||||
.pager span { background:#2563eb; color:#fff; border-color:#2563eb; }
|
||||
a.open { color:#2563eb; cursor:pointer; text-decoration:none; }
|
||||
a.open:hover { text-decoration:underline; }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- TITEL -->
|
||||
<div class="page-header">
|
||||
<h1>OnDoc-Json-Viewer</h1>
|
||||
<p>Tabellen auswählen, Datensätze ansehen und JSON anzeigen</p>
|
||||
</div>
|
||||
|
||||
<!-- LAYOUT -->
|
||||
<div class="layout">
|
||||
<form runat="server" class="left">
|
||||
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
|
||||
|
||||
<h2>Tabellen & Datensätze</h2>
|
||||
<asp:DropDownList
|
||||
ID="ddlTables"
|
||||
runat="server"
|
||||
AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlTables_SelectedIndexChanged" />
|
||||
|
||||
<asp:GridView
|
||||
ID="gvData"
|
||||
runat="server"
|
||||
AutoGenerateColumns="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
PagerStyle-CssClass="pager"
|
||||
OnPageIndexChanging="gvData_PageIndexChanging"
|
||||
OnRowCreated="gvData_RowCreated"
|
||||
OnRowDataBound="gvData_RowDataBound" />
|
||||
</form>
|
||||
|
||||
<!-- ACE EDITOR außerhalb des Form-Tags -->
|
||||
<div class="right">
|
||||
<div id="editor"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const editor = ace.edit("editor");
|
||||
editor.setTheme("ace/theme/tomorrow");
|
||||
editor.session.setMode("ace/mode/json");
|
||||
editor.setShowPrintMargin(false);
|
||||
editor.session.setTabSize(2);
|
||||
editor.session.setUseSoftTabs(true);
|
||||
|
||||
//let editor;
|
||||
//$(function () {
|
||||
// editor = ace.edit("editor");
|
||||
// editor.setTheme("ace/theme/tomorrow");
|
||||
// editor.session.setMode("ace/mode/json");
|
||||
// editor.setShowPrintMargin(false);
|
||||
// editor.session.setTabSize(2);
|
||||
// editor.session.setUseSoftTabs(true);
|
||||
|
||||
// editor.commands.addCommand({
|
||||
// name: "find",
|
||||
// bindKey: { win: "Ctrl-F", mac: "Command-F" },
|
||||
// exec: function (ed) {
|
||||
// ace.require("ace/ext/searchbox").Search(ed);
|
||||
// }
|
||||
// });
|
||||
//});
|
||||
|
||||
function loadJson(tableKey, id) {
|
||||
|
||||
editor.setValue("// lade JSON ...", -1);
|
||||
|
||||
PageMethods.GetJson(
|
||||
tableKey,
|
||||
id,
|
||||
function (result) {
|
||||
|
||||
editor.setValue(result, -1);
|
||||
},
|
||||
function (err) {
|
||||
|
||||
editor.setValue(JSON.stringify({ error: err.get_message() }, null, 2), -1);
|
||||
}
|
||||
);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,13 +1,47 @@
|
||||
<main>
|
||||
<section class="row" aria-labelledby="aspnetTitle">
|
||||
<h1 id="aspnetTitle">OnDoc-Webservice Version 1.1 / 14. April 2025</h1>
|
||||
<h1 id="aspnetTitle">OnDoc-Webservice Version 1.2 / 8. März 2026</h1>
|
||||
</section>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
<div class="row">
|
||||
<section class="col-md-4" aria-labelledby="gettingStartedTitle">
|
||||
|
||||
<a href="/clm.aspx" class="btn btn-primary">
|
||||
<i class="bi bi-box-arrow-up-right"></i> CLM-Dokumente verwalten
|
||||
</a>
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="librariesTitle">
|
||||
</section>
|
||||
<section class="col-md-4" aria-labelledby="hostingTitle">
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<section class="row" aria-labelledby="aspnetTitle">
|
||||
</section>
|
||||
</main>
|
||||
@@ -58,6 +58,14 @@
|
||||
<compilation debug="true" targetFramework="4.8.1" />
|
||||
<httpRuntime targetFramework="4.8.1" maxRequestLength="102400" />
|
||||
</system.web>
|
||||
<system.web.extensions>
|
||||
<scripting>
|
||||
<webServices>
|
||||
<!-- Erhöht den Wert z.B. auf 100 MB (102400 KB) -->
|
||||
<jsonSerialization maxJsonLength="2147483647" />
|
||||
</webServices>
|
||||
</scripting>
|
||||
</system.web.extensions>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -60,6 +60,14 @@
|
||||
<compilation debug="true" targetFramework="4.8.1" />
|
||||
<httpRuntime targetFramework="4.8.1" maxRequestLength="102400" />
|
||||
</system.web>
|
||||
<system.web.extensions>
|
||||
<scripting>
|
||||
<webServices>
|
||||
<!-- Erhöht den Wert z.B. auf 100 MB (102400 KB) -->
|
||||
<jsonSerialization maxJsonLength="2147483647" />
|
||||
</webServices>
|
||||
</scripting>
|
||||
</system.web.extensions>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
|
||||
@@ -58,6 +58,14 @@
|
||||
<compilation debug="true" targetFramework="4.8.1" />
|
||||
<httpRuntime targetFramework="4.8.1" maxRequestLength="102400" />
|
||||
</system.web>
|
||||
<system.web.extensions>
|
||||
<scripting>
|
||||
<webServices>
|
||||
<!-- Erhöht den Wert z.B. auf 100 MB (102400 KB) -->
|
||||
<jsonSerialization maxJsonLength="2147483647" />
|
||||
</webServices>
|
||||
</scripting>
|
||||
</system.web.extensions>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
|
||||
Reference in New Issue
Block a user