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 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) { 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; } Database.DB db = new Database.DB(AppParams.connectionstring); db.save_vorlage_to_db(files[0], 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; } } } } }