update 20241201
This commit is contained in:
332
Client - Kopie/UIControls/Administrator/OfficeVorlage.cs
Normal file
332
Client - Kopie/UIControls/Administrator/OfficeVorlage.cs
Normal file
@@ -0,0 +1,332 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
using Barcoded.qr;
|
||||
using DOCGEN.Klassen;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using Model;
|
||||
using NLog;
|
||||
using OnDoc.Helper;
|
||||
using OnDoc.Klassen;
|
||||
using Syncfusion.Windows.Forms;
|
||||
using Syncfusion.Windows.Forms.Tools;
|
||||
using Syncfusion.WinForms.Controls;
|
||||
using VBFileManagement;
|
||||
using Windows.Devices.Sensors;
|
||||
using Windows.Media.Audio;
|
||||
|
||||
namespace OnDoc.UIControls.Administrator
|
||||
{
|
||||
public partial class OfficeVorlage : SfForm
|
||||
{
|
||||
System.Data.DataTable treedata = new System.Data.DataTable();
|
||||
public OfficeVorlage()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
||||
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
||||
}
|
||||
|
||||
private void OfficeVorlage_Load(object sender, EventArgs e)
|
||||
{
|
||||
Refresh_Tree();
|
||||
|
||||
}
|
||||
private void Refresh_Tree()
|
||||
{
|
||||
TreeOfficeVorlagen.Nodes.Clear();
|
||||
if (treedata.Rows.Count < 1)
|
||||
{
|
||||
Database.DB dB = new Database.DB(AppParams.connectionstring);
|
||||
dB.Get_Tabledata("Select * from office_vorlage order by bezeichnung", false, true);
|
||||
treedata = dB.dsdaten.Tables[0].Copy();
|
||||
dB = null;
|
||||
}
|
||||
|
||||
string _sqlWhere = " Bezeichnung like '%" + txtFilter.Text + "%'";
|
||||
string _sqlOrder = "Bezeichnung ";
|
||||
if (rbNr.Checked)
|
||||
{
|
||||
_sqlOrder = "Office_Vorlagenr ";
|
||||
}
|
||||
|
||||
System.Data.DataTable _newDataTable = treedata.Select(_sqlWhere, _sqlOrder).CopyToDataTable();
|
||||
//DataView dv = new DataView(treedata);
|
||||
//dv.RowFilter = "bezeichnung like '%"+txtFilter.Text+"%'";
|
||||
foreach (DataRow r in _newDataTable.Rows)
|
||||
{
|
||||
TreeNodeAdv nodeAdv = new TreeNodeAdv();
|
||||
nodeAdv.Text = r["office_vorlagenr"].ToString() + " " + r["Bezeichnung"].ToString();
|
||||
nodeAdv.Tag = r["office_vorlagenr"].ToString();
|
||||
if (Convert.ToBoolean(r["aktiv"]) == false)
|
||||
{
|
||||
nodeAdv.Font = new System.Drawing.Font(nodeAdv.Font, FontStyle.Strikeout);
|
||||
}
|
||||
TreeOfficeVorlagen.Nodes.Add(nodeAdv);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void txtFilter_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
Refresh_Tree();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void rbNr_Click(object sender, EventArgs e)
|
||||
{
|
||||
Refresh_Tree();
|
||||
}
|
||||
|
||||
private void rbBezeichnung_Click(object sender, EventArgs e)
|
||||
{
|
||||
Refresh_Tree();
|
||||
}
|
||||
|
||||
|
||||
private void cbboxBarcodeType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (cbboxBarcodeType.Text)
|
||||
{
|
||||
case "2of5":
|
||||
BarcodeLib.Barcode barcode = new BarcodeLib.Barcode();
|
||||
|
||||
System.Drawing.Image barcodeimage = barcode.Get_LinerBarcode(Barcoded.Symbology.I2of5C, "1234567890123456", "1234567890123456", "Below", "Arial", 8, 0);
|
||||
PicBarcodeExample.Image = barcodeimage;
|
||||
GrpBarcodeInhalt.Visible=false;
|
||||
break;
|
||||
case "Datamatrix":
|
||||
GrpBarcodeInhalt.Visible = true;
|
||||
BarcodeLib.Barcode dmcode = new BarcodeLib.Barcode();
|
||||
string qr = "imaq$0002024002033986$0006$1001020854$29825487$104690562$104690562$";
|
||||
string qrvisible = "1001020854\r\n000202400203398 U";
|
||||
barcodeimage = dmcode.Get_Datamatrix(DataMatrix.net.DmtxScheme.DmtxSchemeAscii, qr, 6, 6, 0, "Right", qrvisible, "Futura Book", 11);
|
||||
PicBarcodeExample.Image = barcodeimage;
|
||||
break;
|
||||
case "QR":
|
||||
BarcodeLib.Barcode qrcode = new BarcodeLib.Barcode();
|
||||
//qrcode.Get_QRCode();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void TreeOfficeVorlagen_AfterSelect(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Database.DB db = new Database.DB(AppParams.connectionstring);
|
||||
db.Get_Tabledata("Select * from office_vorlage where office_vorlagenr = " + TreeOfficeVorlagen.SelectedNode.Tag.ToString(), false, true);
|
||||
DataRow r = db.dsdaten.Tables[0].Rows[0];
|
||||
txtBezeichnung.Text = r["bezeichnung"].ToString();
|
||||
txtBeschreibung.Text = r["beschreibung"].ToString();
|
||||
txtVersion.Text = r["Version"].ToString();
|
||||
txtPräfix.Text = r["prefix_dokumentname"].ToString();
|
||||
if (Convert.ToBoolean(r["kopfzeile_generieren"]) == true) { chkKopfzeile.Checked = true; } else { chkKopfzeile.Checked = false; }
|
||||
txtBcTop.Text = r["bcpt"].ToString();
|
||||
txtBcLeft.Text = r["bcpl"].ToString();
|
||||
txtBcWidth.Text = r["bcw"].ToString();
|
||||
txtBcHeigth.Text = r["bch"].ToString();
|
||||
if (Convert.ToBoolean(r["bchorizontal"]) == true) { chkbchorizontal.Checked = true; } else { chkbchorizontal.Checked = false; }
|
||||
cbboxBarcodeType.SelectedIndex = Convert.ToInt32(r["barcodetype"]);
|
||||
txtBCTrennzeichen.Text = r["datamatrixdelimiter"].ToString();
|
||||
txtBCFormat.Text = r["datamatrixformat"].ToString();
|
||||
txtBCFont.Text = r["Datamatrixfont"].ToString();
|
||||
txtBCFontSize.Text = r["DataMatrixFontSize"].ToString();
|
||||
txtBCInhalt.Text = r["datamatrixcontent"].ToString();
|
||||
txtBCAnzeige.Text = r["datamatrixbeschriftung"].ToString();
|
||||
|
||||
db.Get_Tabledata("Select * from office_vorlage_datei where office_vorlage_dateinr = " + TreeOfficeVorlagen.SelectedNode.Tag.ToString(), false, true);
|
||||
DataRow dr = db.dsdaten.Tables[0].Rows[0];
|
||||
lbltextdateiname.Text = dr["dateiname"].ToString();
|
||||
lblTextFreigabeam.Text = dr["fragabe_am"].ToString();
|
||||
lbltextfreigabedurch.Text = dr["freigabe_durch"].ToString();
|
||||
lblTextÜbernahmeProd.Text = dr["uebernahme_produktion"].ToString();
|
||||
txtNrProduktion.Text = dr["office_vorlagenr"].ToString();
|
||||
|
||||
|
||||
string document = db.Get_Office_Vorlage_asBase64(TreeOfficeVorlagen.SelectedNode.Tag.ToString());
|
||||
db.Get_ApplicationType_from_Vorlage(Convert.ToInt32(TreeOfficeVorlagen.SelectedNode.Tag));
|
||||
string Apptype = "";
|
||||
Apptype = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
||||
DOCGEN.DocGet dg = new DOCGEN.DocGet(AppParams.connectionstring);
|
||||
string pdfdoc = "";
|
||||
switch (Apptype.ToUpper())
|
||||
{
|
||||
case "DOCX":
|
||||
case "DOCM":
|
||||
case "DOC":
|
||||
case "DOT":
|
||||
case "WORD":
|
||||
case "DOTM":
|
||||
pdfdoc = dg.Convert_Word_To_PDF(document);
|
||||
break;
|
||||
case "XLSM":
|
||||
case "XLSX":
|
||||
case "XLST":
|
||||
case "XLS":
|
||||
case "XLT":
|
||||
pdfdoc = dg.Convert_Excel_To_PDF(document);
|
||||
break;
|
||||
dg = null;
|
||||
//break;
|
||||
case "PDF":
|
||||
case "ACROBAT":
|
||||
case "FORMULAR":
|
||||
case "DOKUMENT":
|
||||
//break ;
|
||||
|
||||
default:
|
||||
break;
|
||||
//break;
|
||||
}
|
||||
if (pdfdoc != "")
|
||||
{
|
||||
var stream = new MemoryStream(Convert.FromBase64String(pdfdoc));
|
||||
pdfViewerControl1.Load(stream);
|
||||
|
||||
}
|
||||
db = null;
|
||||
dg = null;
|
||||
}
|
||||
catch { }
|
||||
|
||||
}
|
||||
|
||||
private void btnExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
Database.DB db = new Database.DB(AppParams.connectionstring);
|
||||
string doc = db.Get_Office_Vorlage_asBase64(TreeOfficeVorlagen.SelectedNode.Tag.ToString());
|
||||
saveFileDialog1.FileName = lbltextdateiname.Text;
|
||||
if (saveFileDialog1.ShowDialog() == DialogResult.OK) {
|
||||
FileHelper fh = new FileHelper();
|
||||
fh.SaveBase64ToFile(doc, saveFileDialog1.FileName);
|
||||
fh = null;
|
||||
}
|
||||
db=null;
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void btnImport_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
|
||||
{
|
||||
if (AppParams.vbvorlagenmanagement == "Yes")
|
||||
{
|
||||
VBFileManagement.VBFileManagement vbf = new VBFileManagement.VBFileManagement();
|
||||
vbf.Update_Vorlage(openFileDialog1.FileName, TreeOfficeVorlagen.SelectedNode.Tag.ToString(), AppParams.connectionstring, AppParams.CurrentMitarbieter);
|
||||
TreeOfficeVorlagen_AfterSelect(sender, e);
|
||||
vbf = null;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Database.DB db = new Database.DB(AppParams.connectionstring);
|
||||
db.save_vorlage_to_db(openFileDialog1.FileName, TreeOfficeVorlagen.SelectedNode.Tag.ToString());
|
||||
db = null;
|
||||
TreeOfficeVorlagen_AfterSelect(sender, e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void panel1_DragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
|
||||
}
|
||||
|
||||
private void panel1_DragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
if (files.Length > 1) { MessageBox.Show("Nur eine Datei möglich!","Vorlage speichern",MessageBoxButtons.OK,MessageBoxIcon.Error); return; }
|
||||
if (AppParams.vbvorlagenmanagement == "Yes")
|
||||
{
|
||||
VBFileManagement.VBFileManagement vbf = new VBFileManagement.VBFileManagement();
|
||||
vbf.Update_Vorlage(openFileDialog1.FileName, TreeOfficeVorlagen.SelectedNode.Tag.ToString(), AppParams.connectionstring, AppParams.CurrentMitarbieter);
|
||||
TreeOfficeVorlagen_AfterSelect(sender, e);
|
||||
vbf = null;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Database.DB db = new Database.DB(AppParams.connectionstring);
|
||||
db.save_vorlage_to_db(openFileDialog1.FileName, TreeOfficeVorlagen.SelectedNode.Tag.ToString());
|
||||
db = null;
|
||||
TreeOfficeVorlagen_AfterSelect(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Database.DB db = new Database.DB(AppParams.connectionstring);
|
||||
db.Get_Tabledata("SELECT dbo.office_vorlage.office_vorlagenr AS ID, dbo.Office_Vorlage_Datei.dateiname FROM dbo.office_vorlage INNER JOIN dbo.Office_Vorlage_Datei ON dbo.office_vorlage.office_vorlagenr = dbo.Office_Vorlage_Datei.office_vorlage_dateinr", false, true);
|
||||
System.Data.DataTable vorlagen = db.dsdaten.Tables[0];
|
||||
foreach (DataRow dr in vorlagen.Rows)
|
||||
{
|
||||
db.Get_Tabledata("Select dbo.binarytobase64(vorlage) from office_vorlage_datei where office_vorlage_dateinr = " + dr[0].ToString(), false, true);
|
||||
string base64 = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
||||
db.Get_ApplicationType_from_Vorlage(Convert.ToInt32(dr[0].ToString()));
|
||||
string Apptype = "";
|
||||
try
|
||||
{
|
||||
Apptype = db.dsdaten.Tables[0].Rows[0][0].ToString();
|
||||
}
|
||||
catch
|
||||
{
|
||||
Apptype = "";
|
||||
}
|
||||
switch (Apptype.ToUpper())
|
||||
{
|
||||
case "DOCX":
|
||||
case "DOCM":
|
||||
case "DOC":
|
||||
case "DOT":
|
||||
case "WORD":
|
||||
case "DOTM":
|
||||
SyncFWord sfword = new SyncFWord("", "");
|
||||
if (sfword.FindText(base64, this.toolStripTextBox1.Text) == true) { MessageBox.Show(dr[1].ToString()); }
|
||||
break;
|
||||
case "XLSM":
|
||||
case "XLSX":
|
||||
case "XLST":
|
||||
case "XLS":
|
||||
case "XLT":
|
||||
break;
|
||||
//break;
|
||||
case "PDF":
|
||||
case "ACROBAT":
|
||||
case "FORMULAR":
|
||||
case "DOKUMENT":
|
||||
//break ;
|
||||
|
||||
default:
|
||||
break;
|
||||
//break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user