You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
7.3 KiB

using Database;
using DOCGEN;
using Model;
using OnDoc.Klassen;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls.Expressions;
using System.Windows.Forms;
namespace OnDoc.UIControls
{
public partial class DokTypDetail : UserControl
{
public int dokumenttypnr { get; set; } = 0;
public int einzeldokument { get; set; } = 0;
public bool dokumentpaket { get; set; } = false;
public DokTypDetail()
{
InitializeComponent();
}
public DokTypDetail(int dokumenttypnr)
{
InitializeComponent();
this.dokumenttypnr = dokumenttypnr;
Refresh_Details();
}
public void Refresh_Details()
{
DataTable details = new DataTable();
details.Columns.Add("Element");
details.Columns.Add("Inhalt");
if (dokumentpaket)
{
sfDataGrid1.Dock = DockStyle.Top;
groupBox2.Dock = DockStyle.Fill;
groupBox2.Visible = true;
}
else
{
sfDataGrid1.Dock = DockStyle.Fill;
groupBox2.Visible = false;
}
DB dB = new DB(AppParams.connectionstring);
if (einzeldokument == 0)
{
dB.Get_Tabledata("Select * from view_ondoc_doctypdetail where nr=" + dokumenttypnr.ToString(), false, true);
}
if (einzeldokument==1)
{
dB.Get_Tabledata("Select * from view_ondoc_doctypdetail_nativ where nr=" + dokumenttypnr.ToString(), false, true);
}
if (dokumentpaket)
{
dB.Get_Tabledata("Select [Nr],[Bezeichung],[Beschreibung],[Hinweis],[zwingend],[sort],[ID],[DokTyp] from view_ondoc_docpacdetail where nr=" + dokumenttypnr.ToString()+" order by sort", false, true);
for (int i = 0; i < 4; i++)
{
System.Data.DataRow dr1 = details.NewRow();
dr1[0]= dB.dsdaten.Tables[0].Columns[i].ColumnName;
dr1[1] = dB.dsdaten.Tables[0].Rows[0][i].ToString();
details.Rows.Add(dr1);
}
sfDataGrid1.DataSource= details;
dB.dsdaten.Tables[0].Columns.RemoveAt(0);
dB.dsdaten.Tables[0].Columns.RemoveAt(0);
dB.dsdaten.Tables[0].Columns.RemoveAt(0);
dB.dsdaten.Tables[0].Columns.RemoveAt(0);
dB.dsdaten.Tables[0].Columns.RemoveAt(0);
dB.dsdaten.Tables[0].Columns.RemoveAt(0);
sfDataGrid2.DataSource = dB.dsdaten.Tables[0];
//sfDataGrid2.Columns[0].Visible = false;
//sfDataGrid2.Columns[1].Visible = false;
//sfDataGrid2.Columns[2].Visible = false;
//sfDataGrid2.Columns[3].Visible = false;
dB = null;
return;
}
foreach (DataColumn dc in dB.dsdaten.Tables[0].Columns)
{
if (dc.ColumnName != "Image")
{
DataRow dr = details.NewRow();
dr[0] = dc.ColumnName.ToString().Replace("_", "");
dr[1] = dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString();
try
{
if (dB.dsdaten.Tables[0].Columns[0].DataType == typeof(Boolean)) {
if (Convert.ToBoolean(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName]) == false)
{
dr[1] = "Nein";
}
else
{ dr[1] = "Ja"; }
}
else
{
}
}
catch { }
details.Rows.Add(dr);
}
else
{
if (dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString() != "")
{
DocGet dg = new DocGet(AppParams.connectionstring);
clsdok dok = new clsdok(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString(), dB.dsdaten.Tables[0].Rows[0]["Applikation"].ToString(), "","");
string PDF = "";
switch (dB.dsdaten.Tables[0].Rows[0]["Applikation"].ToString().ToUpper())
{
case "WORD":
PDF = dg.Convert_Word_To_PDF(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString());
break;
case "EXCEL":
PDF = dg.Convert_Excel_To_PDF(dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString());
break;
case "PDF":
PDF = dB.dsdaten.Tables[0].Rows[0][dc.ColumnName].ToString();
break;
default:
break;
}
docPreview1.show_base64(PDF, "Dokumenttyp: " + dokumenttypnr.ToString());
dg = null;
dok = null;
}
}
}
sfDataGrid1.DataSource = details;
dB = null;
}
private void sfDataGrid2_CellClick(object sender, Syncfusion.WinForms.DataGrid.Events.CellClickEventArgs e)
{
string id = "";
string apptype = "";
string image = "";
try
{
var rowIndex = e.DataRow.RowIndex;
//Get the column index value
var columnIndex = e.DataColumn.ColumnIndex;
var selectedItem = e.DataRow;
var dataRow = (e.DataRow.RowData as DataRowView).Row;
id = dataRow["id"].ToString();
DB db = new DB(AppParams.connectionstring);
db.Get_Tabledata("Select apptype,image from view_ondoc_docpacdetail where nr= " + this.dokumenttypnr.ToString() + " and id=" + id, false, true);
apptype = db.dsdaten.Tables[0].Rows[0][0].ToString().ToUpper();
image = db.dsdaten.Tables[0].Rows[0][1].ToString();
db = null;
DocGet dg = new DocGet(AppParams.connectionstring);
string PDF = "";
switch (apptype)
{
case "WORD":
PDF = dg.Convert_Word_To_PDF(image);
break;
case "EXCEL":
PDF = dg.Convert_Excel_To_PDF(image);
break;
case "PDF":
PDF = image;
break;
default:
break;
}
docPreview1.show_base64(PDF, "Dokumenttyp: " + dokumenttypnr.ToString());
dg = null;
}
catch { }
}
}
}