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.

290 lines
12 KiB

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 OnDoc.Klassen;
using Syncfusion.Windows.Forms.Grid;
using Syncfusion.Windows.Forms.Tools;
using Syncfusion.WinForms.Controls;
using System.Xml;
using System.IO;
using System.Configuration;
using System.Xml.Linq;
using Syncfusion.Compression.Zip;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using Microsoft.Office.Interop.Word;
namespace OnDoc.Diverses
{
public partial class NativVorlagen : SfForm
{
private int TotalKlassifizierung = 0;
public NativVorlagen()
{
InitializeComponent();
this.Style.TitleBar.BackColor = Theaming.Titelbar();
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
}
private void NativVorlagen_Load(object sender, EventArgs e)
{
string line = "";
int i = 1;
StreamReader sr = new StreamReader(Properties.Settings.Default.NativVorlagen+@"\klassifizierung.txt");
line = sr.ReadLine();
while (line != null)
{
RadioButton rb = new RadioButton();
rb.Name = "rb"+i.ToString();
rb.Text = line;
rb.Left = label1.Left;
rb.Top = label1.Top + (i*25);
rb.Width = 180;
i++;
this.Controls.Add(rb);
line = sr.ReadLine();
}
sr.Close();
TotalKlassifizierung = i - 1;
string ext = "";
DirectoryInfo directoryInfo = new DirectoryInfo(Properties.Settings.Default.NativVorlagen);
if (directoryInfo.Exists)
{
try
{
TreeNode root = new TreeNode();
root.Text = "Vorlagen";
root.ImageIndex = 3;
root.SelectedImageIndex = 3;
treeView.Nodes.Add(root);
DirectoryInfo[] directories = directoryInfo.GetDirectories();
foreach (FileInfo file in directoryInfo.GetFiles())
{
if (file.Exists && file.Name!="klassifizierung.txt")
{
ext = System.IO.Path.GetExtension(file.Name);
TreeNode tnnew = new TreeNode();
tnnew.Text = file.Name;
tnnew.Tag = file.FullName;
tnnew.ImageIndex = 4;
if (ext.Length > 2)
{
ext = ext.Substring(0, 2).ToUpper();
tnnew.ImageIndex = 4;
tnnew.SelectedImageIndex = 4;
if (ext == ".D") { tnnew.ImageIndex = 0; tnnew.SelectedImageIndex = 0; };
if (ext == ".X") { tnnew.ImageIndex = 1; tnnew.SelectedImageIndex = 1; };
if (ext == ".P") { tnnew.ImageIndex = 2; tnnew.SelectedImageIndex = 2; };
}
else
{
tnnew.ImageIndex = 3; tnnew.SelectedImageIndex = 3;
}
TreeNode treeNode = treeView.Nodes[0];
treeNode.Nodes.Add(tnnew);
//TreeNode nodes = treeView.Nodes[0].Nodes.Add(file.Name);
}
}
if (directories.Length > 0)
{
foreach (DirectoryInfo directory in directories)
{
TreeNode node = treeView.Nodes[0].Nodes.Add(directory.Name);
node.ImageIndex = node.SelectedImageIndex = 3;
foreach (FileInfo file in directory.GetFiles())
{
if (file.Exists && file.Name!="klassifizierung.txt")
{
TreeNode tnnew = new TreeNode();
tnnew.Text = file.Name;
tnnew.Tag = file.FullName;
tnnew.ImageIndex = 4;
ext = System.IO.Path.GetExtension(tnnew.Text);
if (ext.Length > 2)
{
ext = ext.Substring(0, 2).ToUpper();
tnnew.ImageIndex = 4;
tnnew.SelectedImageIndex = 4;
if (ext == ".D") { tnnew.ImageIndex = 0; tnnew.SelectedImageIndex = 0; };
if (ext == ".X") { tnnew.ImageIndex = 1; tnnew.SelectedImageIndex = 1; };
if (ext == ".P") { tnnew.ImageIndex = 2; tnnew.SelectedImageIndex = 2; };
}
else
{
tnnew.ImageIndex = 3; tnnew.SelectedImageIndex = 3;
tnnew.Tag = "";
}
TreeNode tnnew2 = treeView.Nodes[0].Nodes[node.Index];
tnnew2.Nodes.Add(tnnew);
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
treeView.ExpandAll();
}
}
private static void ListDirectory(TreeViewAdv treeView, string path)
{
treeView.Nodes.Clear();
var stack = new Stack<TreeNodeAdv>();
var rootDirectory = new DirectoryInfo(path);
var node = new TreeNodeAdv(rootDirectory.Name) { Tag = rootDirectory };
string ext = System.IO.Path.GetExtension(node.Text);
{ node.RightImageIndices = new int[] { 3 }; }
stack.Push(node);
while (stack.Count > 0)
{
var currentNode = stack.Pop();
var directoryInfo = (DirectoryInfo)currentNode.Tag;
foreach (var directory in directoryInfo.GetDirectories())
{
var childDirectoryNode = new TreeNodeAdv(directory.Name) { Tag = directory };
currentNode.Nodes.Add(childDirectoryNode);
{ childDirectoryNode.RightImageIndices = new int[] { 3 }; }
stack.Push(childDirectoryNode);
foreach (var file in directoryInfo.GetFiles())
{
if (file.Name != "klassifizierung.txt")
{
TreeNodeAdv tnnew = new TreeNodeAdv(file.Name);
ext = System.IO.Path.GetExtension(tnnew.Text);
if (ext.Length > 2)
{
ext = ext.Substring(0, 2).ToUpper();
if (ext == ".D") { tnnew.LeftImageIndices = new int[] { 0 }; };
if (ext == ".X") { tnnew.LeftImageIndices = new int[] { 1 }; };
if (ext == ".P") { tnnew.LeftImageIndices = new int[] { 2 }; };
}
else
{ tnnew.RightImageIndices = new int[] { 3 }; }
currentNode.Nodes.Add(tnnew);
}
}
}
}
treeView.Nodes.Add(node);
}
private void treeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
Execute(e.Node);
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
this.Close();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
Execute(treeView.SelectedNode);
}
private void Execute(TreeNode treeNode)
{
string klassifizierung = "";
try
{
for (int i = 0; i < TotalKlassifizierung; i++)
{
RadioButton rb = this.Controls.Find("rb" + i.ToString(), true).FirstOrDefault() as RadioButton;
if (rb != null)
{
if (rb.Checked)
{
klassifizierung = rb.Text;
}
}
}
}
catch { }
try
{
string tempfilename = treeNode.Tag.ToString();
if (tempfilename == "") { return; }
//string tempdir = AppParams.tempdir + "\nativdoks";
string ext = System.IO.Path.GetExtension(tempfilename);
if (ext.Length > 2)
{
ext = ext.Substring(0, 2).ToUpper();
string tempfilename1 = "";
switch (ext)
{
case ".D":
DOCGEN.Klassen.SynFWord sf = new DOCGEN.Klassen.SynFWord();
tempfilename1 = System.IO.Path.GetFileName(tempfilename);
tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
sf.create_nativ("Klassifikation", klassifizierung, "", tempfilename, tempfilename1);
System.Diagnostics.Process.Start("winword.exe", " /t" + tempfilename1);
//System.Diagnostics.Process.Start("winword.exe", " /t" + tempfilename);
break;
case ".X":
DOCGEN.Klassen.SynFExcel ef = new DOCGEN.Klassen.SynFExcel();
tempfilename1 = System.IO.Path.GetFileName(tempfilename);
tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
ef.create_nativ("Klassifikation", klassifizierung, "", tempfilename, tempfilename1);
System.Diagnostics.Process.Start("excel.exe", " /t " + tempfilename1);
break;
case ".P":
DOCGEN.Klassen.SyncFPowerPoint pf = new DOCGEN.Klassen.SyncFPowerPoint();
tempfilename1 = System.IO.Path.GetFileName(tempfilename);
tempfilename1 = AppParams.tempdir + "" + DateTime.Now.ToString("yyyyMMddhhmmss") + tempfilename1;
pf.create_nativ("Klassifikation",klassifizierung,"",tempfilename,tempfilename1);
System.Diagnostics.Process.Start("POWERPNT.EXE", " /N " + tempfilename1);
break;
default:
tempfilename1 = System.IO.Path.GetFileName(tempfilename);
tempfilename1 = AppParams.tempdir+ "" + DateTime.Now.ToString("yyyyMMddhhmmss") +tempfilename1;
System.IO.File.Copy(tempfilename,tempfilename1, true);
Process.Start(tempfilename1);
break;
}
}
}
catch { }
}
private void button1_Click(object sender, EventArgs e)
{
Execute(this.treeView.SelectedNode);
}
}
}