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.Windows.Forms; using Model; using OnDoc.Klassen; using OnDoc.UIControls; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using Syncfusion.WinForms.DataGrid; using Syncfusion.WinForms.DataGrid.Interactivity; using Windows.Media.Ocr; namespace OnDoc.DocMgmt { public partial class SerienbriefBearbeitung : SfForm { DataTable StdFelder = new DataTable(); DataTable IDVFelder = new DataTable(); DataTable UsedFelder = new DataTable(); int dokumenttypnr = 0; serienbrief sb = new serienbrief(); public SerienbriefBearbeitung() { InitializeComponent(); this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); } public SerienbriefBearbeitung(serienbrief sb) { InitializeComponent(); this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); this.sb = sb; } private void SerienbriefBearbeitung_Load(object sender, EventArgs e) { StdFelder = get_vorlagenfelder(sb.dokumenttypnr, 0); foreach (System.Data.DataRow dr in StdFelder.Rows) { dr[1] = dr[1].ToString().Replace(System.Environment.NewLine, " "); } StdFelder.AcceptChanges(); sfdatagridstandard.RowHeight = 17; sfdatagridstandard.DataSource = StdFelder; IDVFelder = get_vorlagenfelder(sb.dokumenttypnr, 1); foreach (System.Data.DataRow dr in IDVFelder.Rows) { dr[1] = dr[1].ToString().Replace(System.Environment.NewLine, " "); } IDVFelder.AcceptChanges(); sfdatagridDokspezifisch.DataSource = IDVFelder; sfdatagridDokspezifisch.RowHeight= 17; init_used_felder(); } private DataTable get_vorlagenfelder(int dokumenttypnr, int type) { Database.DB db = new Database.DB(AppParams.connectionstring); db.clear_parameter(); db.add_parameter("@dokumenttypnr", sb.dokumenttypnr.ToString()); db.add_parameter("@type", type.ToString()); db.Get_Tabledata("sp_edex_sb_get_standardvorlagenfelder",true,false); return db.dsdaten.Tables[0]; } private Microsoft.Office.Interop.Word.Application word; private Microsoft.Office.Interop.Word.Document doc; public void load_document() { word = new Microsoft.Office.Interop.Word.Application(); doc = new Microsoft.Office.Interop.Word.Document(); word.Documents.Open(sb.filename); doc = word.ActiveDocument; word.Visible= true; word.WindowState = Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMaximize; } private void get_usedfelder(ref System.Data.DataTable list) { list = get_vorlagenfelder(sb.dokumenttypnr, 1); int i; string s; bool dodelete = false; foreach (System.Data.DataRow row in list.Rows) { dodelete = false; if (row["Feldname"] != "") { // ContentControls try { if (row["Feldname"].ToString().Substring(0, 3) == "cc_") { s = row["Feldname"].ToString(); ; } else { s = word.ActiveDocument.FormFields[row["feldname"].ToString()].Name.ToString(); } } catch { dodelete = true; } } if (row["Beginntextmarke"] != "") { try { s = word.ActiveDocument.Bookmarks[row["beginntextmarke"].ToString()].Name.ToString(); } catch { dodelete = true; } } if (row["endetextmarke"] != "") { try { s = word.ActiveDocument.Bookmarks[row["endetextmarke"].ToString()].Name.ToString(); } catch { dodelete = true; } } if (dodelete) row.Delete(); } list.AcceptChanges(); sfdatagridUsed.DataSource= list; } public DataTable init_used_felder() { load_document(); get_usedfelder(ref UsedFelder); return null; } } }