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.
370 lines
15 KiB
370 lines
15 KiB
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 Database;
|
|
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();
|
|
this.Style.ShadowOpacity = Theaming.ShadowOpacity;
|
|
this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity;
|
|
}
|
|
|
|
private void OfficeVorlage_Load(object sender, EventArgs e)
|
|
{
|
|
Refresh_Tree();
|
|
|
|
}
|
|
|
|
public void set_filter(string filter)
|
|
{
|
|
Database.DB dB = new Database.DB(AppParams.connectionstring);
|
|
dB.Get_Tabledata("Select * from office_vorlage where office_vorlagenr="+filter, false, true);
|
|
treedata = dB.dsdaten.Tables[0].Copy();
|
|
dB = null;
|
|
Refresh_Tree();
|
|
TreeOfficeVorlagen.SelectedNode = TreeOfficeVorlagen.Nodes[0];
|
|
}
|
|
|
|
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;
|
|
lblFilename.Text = System.IO.Path.GetFileName(openFileDialog1.FileName);
|
|
}
|
|
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);
|
|
lblFilename.Text = System.IO.Path.GetFileName(openFileDialog1.FileName);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
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)
|
|
{
|
|
Database.DB db = new Database.DB(AppParams.connectionstring);
|
|
db.Get_Tabledata_for_Update("Select * from office_vorlage where office_vorlagenr = " + TreeOfficeVorlagen.SelectedNode.Tag.ToString(),false,true);
|
|
DataRow r = db.daten.Tables[0].Rows[0];
|
|
r["bezeichnung"] = txtBezeichnung.Text;
|
|
r["beschreibung"] = txtBeschreibung.Text;
|
|
r["Version"] = txtVersion.Text;
|
|
r["prefix_dokumentname"] = txtPräfix.Text;
|
|
r["kopfzeile_generieren"] = chkKopfzeile.Checked;
|
|
r["bcpt"] = txtBcTop.Text;
|
|
r["bcpl"] = txtBcLeft.Text;
|
|
r["bcw"] = txtBcWidth.Text;
|
|
r["bch"] = txtBcHeigth.Text;
|
|
r["bchorizontal"] = chkbchorizontal.Checked;
|
|
r["barcodetype"] = cbboxBarcodeType.SelectedIndex;
|
|
r["datamatrixdelimiter"] = txtBCTrennzeichen.Text;
|
|
//r["datamatrixformat"] = txtBCFormat.Text;
|
|
//r["Datamatrixfont"] = txtBCFont.Text;
|
|
//r["DataMatrixFontSize"] = txtBCFontSize.Text;
|
|
r["datamatrixcontent"] = txtBCInhalt.Text;
|
|
r["datamatrixbeschriftung"] = txtBCAnzeige.Text;
|
|
db.Update_Data();
|
|
|
|
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|