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.
1011 lines
38 KiB
1011 lines
38 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 OnDoc.UIControls.Administrator;
|
|
using Syncfusion.Windows.Forms;
|
|
using Syncfusion.Windows.Forms.Tools;
|
|
using Syncfusion.WinForms.Controls;
|
|
using Syncfusion.WinForms.DataGrid;
|
|
using Syncfusion.WinForms.DataGrid.Interactivity;
|
|
using Database;
|
|
using OnDoc.Diverses;
|
|
using System.Xml.Linq;
|
|
using System.Web.UI.WebControls;
|
|
using Microsoft.SqlServer.Server;
|
|
using System.Collections;
|
|
using OnDoc.UICintrols;
|
|
|
|
namespace OnDoc.DocMgmt
|
|
{
|
|
public partial class DokTypSelect : SfForm
|
|
{
|
|
public int dokumenttypnr { get; set; } = 0;
|
|
public bool favoriten { get; set; } = false;
|
|
|
|
public int type { get; set; } = 1;
|
|
|
|
private Boolean dragSender_Favoriten = false;
|
|
private int SaveFormWidth = 515;
|
|
|
|
//0="Einzelvorlagen"
|
|
//1="Dokumentpaket"
|
|
public int vorlagentype { get; set; } = 0;
|
|
|
|
public DokTypSelect()
|
|
{
|
|
InitializeComponent();
|
|
this.favoriten = false;
|
|
this.treeViewDragHighlightTracker1 = new TreeViewAdvDragHighlightTracker(this.treeViewAdv2);
|
|
this.treeViewDragHighlightTracker1.QueryAllowedPositionsForNode +=
|
|
new QueryAllowedPositionsEventHandler(this.TreeDragDrop_QueryAllowedPositionsForNode1);
|
|
this.treeViewDragHighlightTracker1.QueryDragInsertInfo +=
|
|
new QueryDragInsertInfoEventHandler(treeViewDragHighlightTracker_QueryDragInsertInfo1);
|
|
|
|
}
|
|
|
|
public DokTypSelect(bool favoriten)
|
|
{
|
|
InitializeComponent();
|
|
this.favoriten = favoriten;
|
|
RibbonButtonFavoriten.Checked = favoriten;
|
|
if (favoriten == false)
|
|
{
|
|
grpFavoriten.Visible = false;
|
|
grpVorlagen.Visible = true;
|
|
RibbonButtonVorlagen.Checked = true;
|
|
|
|
}
|
|
else
|
|
{
|
|
grpVorlagen.Visible = false;
|
|
grpFavoriten.Visible = true;
|
|
}
|
|
|
|
this.treeViewDragHighlightTracker1 = new TreeViewAdvDragHighlightTracker(this.treeViewAdv2);
|
|
this.treeViewDragHighlightTracker1.QueryAllowedPositionsForNode +=
|
|
new QueryAllowedPositionsEventHandler(this.TreeDragDrop_QueryAllowedPositionsForNode1);
|
|
this.treeViewDragHighlightTracker1.QueryDragInsertInfo +=
|
|
new QueryDragInsertInfoEventHandler(treeViewDragHighlightTracker_QueryDragInsertInfo1);
|
|
}
|
|
|
|
private void DokTypSelect_Load_1(object sender, EventArgs e)
|
|
{
|
|
this.Style.TitleBar.BackColor = Theaming.Titelbar();
|
|
this.Style.TitleBar.ForeColor = Theaming.TitelFontColor();
|
|
this.Style.ShadowOpacity = Theaming.ShadowOpacity;
|
|
this.Style.InactiveShadowOpacity = Theaming.InactivShadowOpacity;
|
|
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("select distinct fachverantwortung from dbo.view_dokumenttypen_relaunch order by fachverantwortung asc", false, true);
|
|
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
|
|
{
|
|
toolstripCombobox_Fachverantwortung.Items.Add(dr[0].ToString());
|
|
}
|
|
|
|
|
|
if (this.favoriten)
|
|
{
|
|
RibbonButtonVorlagen.Checked = false;
|
|
RibbonButtonFavoriten.Checked = true;
|
|
RibbonButtonFavoriten_Click(sender, e);
|
|
}
|
|
else
|
|
{
|
|
load_standard("");
|
|
toolstriptextboxsearch.Focus();
|
|
}
|
|
if (vorlagentype == 2) { this.ribbonPanel4.Visible = false; }else { this.ribbonPanel4.Visible=true; }
|
|
}
|
|
|
|
public void get_einzeldokumente(string where)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.clear_parameter();
|
|
db.add_parameter("@manr", AppParams.CurrentMitarbeiter.ToString());
|
|
db.add_parameter("@where", where);
|
|
db.add_parameter("@einzeldokumente", "1");
|
|
db.Get_Tabledata("sp_ondoc_dokerstellung", true, false);
|
|
if (db.dsdaten.Tables[0].Rows.Count < 1)
|
|
{
|
|
db = null;
|
|
return;
|
|
}
|
|
TreeNodeAdv tnnativ = new TreeNodeAdv();
|
|
tnnativ.Text = "Dokumente ohne Archivierung";
|
|
tnnativ.LeftImageIndices = new int[] { 0 };
|
|
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
|
|
{
|
|
TreeNodeAdv tnnativ2 = new TreeNodeAdv();
|
|
tnnativ2.Tag = dr[0].ToString();
|
|
tnnativ2.Text = dr[1].ToString()+" [Ohne Archivierung]";
|
|
tnnativ2.TagObject = dr;
|
|
tnnativ2.LeftImageIndices = new int[] { Convert.ToInt32(dr["apptype"]) };
|
|
tnnativ.Nodes.Add(tnnativ2);
|
|
|
|
}
|
|
if (tnnativ.Nodes.Count > 0)
|
|
{
|
|
treeViewAdv1.Nodes.Add(tnnativ);
|
|
}
|
|
db = null;
|
|
if (where != "") { tnnativ.ExpandAll(); }
|
|
}
|
|
|
|
TreeNodeAdv[] nodestoexpand = new TreeNodeAdv[50];
|
|
int nodextoexpandindex = 1;
|
|
public void load_standard(string filter, string filter_fachverantwortung = "")
|
|
{
|
|
|
|
Cursor = Cursors.WaitCursor;
|
|
if (AppParams.connectionstring == "")
|
|
{
|
|
AppParams.init();
|
|
}
|
|
treeViewAdv1.Enabled = false;
|
|
|
|
grpVorlagen.Visible = false;
|
|
treeViewAdv1.BeginUpdate();
|
|
treeViewAdv1.Nodes.Clear();
|
|
treeViewAdv1.LeftImageList = imageList1;
|
|
|
|
|
|
string where = "";
|
|
if (filter != "")
|
|
{
|
|
where = "and bezeichnung like '%" + filter.Replace(" ", "%") + "%'";
|
|
}
|
|
if (toolstripCombobox_Fachverantwortung.Text != "")
|
|
{
|
|
if (filter != "")
|
|
{
|
|
where = where + " and fachverantwortung='" + toolstripCombobox_Fachverantwortung.Text + "'";
|
|
}
|
|
else
|
|
{
|
|
where = " and fachverantwortung='" + toolstripCombobox_Fachverantwortung.Text + "'";
|
|
}
|
|
}
|
|
|
|
|
|
if (vorlagentype == 1)
|
|
{
|
|
this.Text = "Vorlage auswählen";
|
|
//Standard Vorlagen
|
|
DB db = new DB(AppParams.connectionstring);
|
|
DataTable vorlagen = new DataTable();
|
|
DataTable Struktur = new DataTable();
|
|
DataSet ds = new DataSet();
|
|
db.clear_parameter();
|
|
db.add_parameter("@manr", AppParams.CurrentMitarbeiter.ToString());
|
|
db.add_parameter("@where", where);
|
|
db.Get_Tabledata("sp_ondoc_dokerstellung", true, false);
|
|
|
|
|
|
//db.Get_Tabledata("Select dokumenttypnr as id, bezeichnung, node, OnBase_Dokumenttyp, apptype from View_Dokumenttypen_Relaunch where aktiv=1 " + where + " order by bezeichnung", false, true);
|
|
vorlagen = db.dsdaten.Tables[0].Copy();
|
|
db.Get_Tabledata("Select * from Dokumentart_Relaunch order by id", false, true);
|
|
|
|
db.dsdaten.Tables[0].AcceptChanges();
|
|
Struktur = db.dsdaten.Tables[0].Copy();
|
|
|
|
ds.Tables.Add(Struktur.Copy());
|
|
ds.Tables[0].TableName = "Struktur";
|
|
ds.Tables.Add(vorlagen.Copy());
|
|
ds.Relations.Add("TreeParentChild", ds.Tables[0].Columns["ID"], ds.Tables[0].Columns["ParentID"], false);
|
|
ds.Relations.Add("VorlagenParent", ds.Tables[0].Columns["ID"], ds.Tables[1].Columns["node"], false);
|
|
|
|
nodestoexpand = null;
|
|
nodestoexpand = new TreeNodeAdv[Struktur.Rows.Count];
|
|
nodextoexpandindex = 1;
|
|
|
|
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
if (dr["Parentid"].ToString() == "0")
|
|
{
|
|
//Creates a TreeNode if the parent equals 0
|
|
TreeNodeAdv root = new TreeNodeAdv(dr["bezeichnung"].ToString());
|
|
// if (dr["OnBase_Dokumenttyp]"].ToString().Trim() != "") { root.Text = root.Text + " [" + dr["OnBase_Dokumenttyp"].ToString() + "]"; }
|
|
root.Tag = Convert.ToInt32(dr["id"]) * -1;
|
|
root.TagObject = dr;
|
|
root.LeftImageIndices = new int[] { 0 };
|
|
treeViewAdv1.Nodes.Add(root);
|
|
PopulateTree(dr, root);
|
|
}
|
|
}
|
|
if (where == "")
|
|
{
|
|
try
|
|
{
|
|
for (int i = 1; i < nodextoexpandindex; i++)
|
|
{
|
|
treeViewAdv1.SelectedNode = nodestoexpand[i];
|
|
if (treeViewAdv1.SelectedNode.Nodes[0].Nodes.Count > 0) { treeViewAdv1.SelectedNode.Expand(); }
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
else
|
|
{
|
|
treeViewAdv1.ExpandAll();
|
|
}
|
|
db = null;
|
|
get_einzeldokumente(where);
|
|
|
|
}
|
|
else
|
|
{
|
|
//Palkete
|
|
this.Text = "Dokumentpaket auswählen";
|
|
if (vorlagentype == 2) { RibbonButtonVorlagen.Checked = true; }
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select dokumentpaketnr as id, bezeichnung, dokumentartnr as node, 1 as apptype from edex_dokumentpaket where aktiv=1 " + where + " order by bezeichnung", false, true);
|
|
|
|
DataTable vorlagen = new DataTable();
|
|
DataTable Struktur = new DataTable();
|
|
DataSet ds = new DataSet();
|
|
vorlagen = db.dsdaten.Tables[0].Copy();
|
|
db.Get_Tabledata("Select dokumentartnr as id, parentid, bezeichnung from dokumentart where aktiv=1 order by id", false, true);
|
|
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
|
|
{
|
|
if (dr["Bezeichnung"].ToString() == "Dokumentpakete") { dr["Parentid"] = 0; }
|
|
}
|
|
Struktur = db.dsdaten.Tables[0].Copy();
|
|
|
|
ds.Tables.Add(Struktur.Copy());
|
|
ds.Tables[0].TableName = "Struktur";
|
|
ds.Tables.Add(vorlagen.Copy());
|
|
ds.Relations.Add("TreeParentChild", ds.Tables[0].Columns["ID"], ds.Tables[0].Columns["ParentID"], false);
|
|
ds.Relations.Add("VorlagenParent", ds.Tables[0].Columns["ID"], ds.Tables[1].Columns["node"], false);
|
|
|
|
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
if (dr["bezeichnung"].ToString() == "Dokumentpakete")
|
|
{
|
|
//Creates a TreeNode if the parent equals 0
|
|
TreeNodeAdv root = new TreeNodeAdv(dr["bezeichnung"].ToString());
|
|
root.Tag = Convert.ToInt32(dr["id"]) * -1;
|
|
root.TagObject = dr;
|
|
root.LeftImageIndices = new int[] { 0 };
|
|
treeViewAdv1.Nodes.Add(root);
|
|
//Recursively builds the tree
|
|
PopulateTree(dr, root);
|
|
}
|
|
}
|
|
treeViewAdv1.ExpandAll();
|
|
db = null;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0];
|
|
treeViewAdv1.EndUpdate();
|
|
treeViewAdv1.Enabled = true;
|
|
grpVorlagen.Visible = true;
|
|
|
|
|
|
if (ExternalCall.struktur != "")
|
|
{
|
|
treeViewAdv1.CollapseAll();
|
|
TreeViewAdvFindReplaceDialog dialog = new TreeViewAdvFindReplaceDialog(this.treeViewAdv1);
|
|
dialog.Find(ExternalCall.struktur, Syncfusion.Windows.Forms.Tools.TreeViewSearchOption.MatchWholeText, Syncfusion.Windows.Forms.Tools.TreeViewSearchRange.TreeView);
|
|
}
|
|
Cursor = Cursors.Default;
|
|
}
|
|
|
|
public void PopulateSubTree(System.Data.DataRow dr, TreeNodeAdv pNode)
|
|
{
|
|
|
|
foreach (System.Data.DataRow row in dr.GetChildRows("VorlagenParent"))
|
|
{
|
|
|
|
TreeNodeAdv cChild = new TreeNodeAdv(row["bezeichnung"].ToString());
|
|
try
|
|
{
|
|
if (row["OnBase_Dokumenttyp"].ToString().Trim() != "") { cChild.Text = cChild.Text + " [" + row["OnBase_Dokumenttyp"].ToString().Trim() + "]"; }
|
|
}
|
|
catch { };
|
|
//cChild.LeftImageIndices = new int[] { 1 };
|
|
cChild.LeftImageIndices = new int[] { Convert.ToInt32(row["apptype"]) };
|
|
cChild.Tag = Convert.ToInt32(row["id"]) * 1;
|
|
cChild.TagObject = row;
|
|
pNode.Nodes.Add(cChild);
|
|
PopulateSubTree(row, cChild);
|
|
}
|
|
}
|
|
public void PopulateTree(System.Data.DataRow dr, TreeNodeAdv pNode)
|
|
{
|
|
if (dr.GetChildRows("TreeParentChild").Count() == 0)
|
|
{
|
|
PopulateSubTree(dr, pNode);
|
|
}
|
|
//To iterate through all the rows in the DataSet
|
|
foreach (System.Data.DataRow row in dr.GetChildRows("TreeParentChild"))
|
|
{
|
|
//Creating a TreeNode for each row
|
|
TreeNodeAdv cChild = new TreeNodeAdv(row["bezeichnung"].ToString());
|
|
try
|
|
{
|
|
if (row["OnBase_Dokumenttyp]"].ToString().Trim() != "") { cChild.Text = cChild.Text + " [" + row["OnBase_Dokumenttyp"].ToString() + "]"; }
|
|
}
|
|
catch { }
|
|
cChild.Tag = Convert.ToInt32(row["id"]) * -1;
|
|
cChild.LeftImageIndices = new int[] { 0 };
|
|
cChild.TagObject = row;
|
|
nodestoexpand[nodextoexpandindex] = cChild;
|
|
nodextoexpandindex = nodextoexpandindex + 1;
|
|
//Add cChild node to the pNode
|
|
pNode.Nodes.Add(cChild);
|
|
|
|
//Recursively build the tree
|
|
PopulateTree(row, cChild);
|
|
//PopulateSubTree(row, cChild);
|
|
}
|
|
}
|
|
|
|
private void Load_Favoriten(string filter)
|
|
{
|
|
Cursor = Cursors.WaitCursor;
|
|
if (AppParams.connectionstring == "")
|
|
{
|
|
AppParams.init();
|
|
}
|
|
treeViewAdv2.Enabled = false;
|
|
|
|
treeViewAdv2.BeginEdit();
|
|
treeViewAdv2.Nodes.Clear();
|
|
|
|
DataTable vorlagen = new DataTable();
|
|
DataTable Struktur = new DataTable();
|
|
DataSet ds = new DataSet();
|
|
|
|
string sql = "Select * from view_favoriten_vorlagen where typ=" + vorlagentype.ToString() + " and aktiv=1 and mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString();
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata(sql, false, true);
|
|
ds.Tables.Add(db.dsdaten.Tables[0].Copy());
|
|
ds.Relations.Add("TreeParentChild", ds.Tables[0].Columns["pID"], ds.Tables[0].Columns["parentid"], false);
|
|
treeViewAdv2.LeftImageList = imageList1;
|
|
|
|
|
|
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
if (dr["Parentid"].ToString() == "0")
|
|
{
|
|
//Creates a TreeNode if the parent equals 0
|
|
TreeNodeAdv root = new TreeNodeAdv(dr["bez"].ToString());
|
|
root.Tag = Convert.ToInt32(dr["id"]) * 1;
|
|
root.TagObject = dr;
|
|
if (dr["id"].ToString() == "0")
|
|
{
|
|
root.LeftImageIndices = new int[] { 0 };
|
|
}
|
|
else
|
|
{
|
|
root.LeftImageIndices = new int[] { 1 };
|
|
}
|
|
;
|
|
treeViewAdv2.Nodes.Add(root);
|
|
//Recursively builds the tree
|
|
PopulateTree_Favoriten(dr, root);
|
|
}
|
|
|
|
}
|
|
|
|
treeViewAdv2.ExpandAll();
|
|
try
|
|
{
|
|
treeViewAdv2.SelectedNode = treeViewAdv2.Nodes[0];
|
|
}
|
|
catch { }
|
|
treeViewAdv2.EndEdit();
|
|
treeViewAdv2.Enabled = true;
|
|
|
|
Cursor = Cursors.Default;
|
|
|
|
}
|
|
public void PopulateTree_Favoriten(System.Data.DataRow dr, TreeNodeAdv pNode)
|
|
{
|
|
//To iterate through all the rows in the DataSet
|
|
foreach (System.Data.DataRow row in dr.GetChildRows("TreeParentChild"))
|
|
{
|
|
//Creating a TreeNode for each row
|
|
TreeNodeAdv cChild = new TreeNodeAdv(row["bez"].ToString());
|
|
if (row["OnBase_Dokumenttyp"].ToString().Trim() != "") { cChild.Text = cChild.Text + " [" + row["OnBase_Dokumenttyp"].ToString().Trim() + "]"; }
|
|
//Add cChild node to the pNode
|
|
pNode.Nodes.Add(cChild);
|
|
cChild.Tag = row["ID"].ToString();
|
|
cChild.TagObject = row;
|
|
if (row["ID"].ToString() == "0")
|
|
{
|
|
cChild.LeftImageIndices = new int[] { 0 };
|
|
}
|
|
else
|
|
{
|
|
cChild.LeftImageIndices = new int[] { Convert.ToInt32(row["apptype"]) };
|
|
}
|
|
|
|
//Recursively build the tree
|
|
PopulateTree_Favoriten(row, cChild);
|
|
}
|
|
}
|
|
void treeViewAdv1_OnNodeAfterFound(object sender, Syncfusion.Windows.Forms.Tools.TreeNodeAdvAfterFindArgs e)
|
|
{
|
|
treeViewAdv1.CollapseAll();
|
|
treeViewAdv1.SelectedNode = e.Node;
|
|
treeViewAdv1.SelectedNode.ExpandAll();
|
|
treeViewAdv1.EnsureVisible(treeViewAdv1.SelectedNode);
|
|
}
|
|
|
|
private void ribbonButton1_Click(object sender, EventArgs e)
|
|
{
|
|
DialogResult = DialogResult.Cancel;
|
|
this.Close();
|
|
}
|
|
|
|
private void sfListView1_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
foreach (DataRowView item in sfListView1.SelectedItems)
|
|
{
|
|
dokumenttypnr = Convert.ToInt32(item.Row[0].ToString());
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
}
|
|
|
|
private void RibbonButtonSearch_Click(object sender, EventArgs e)
|
|
{
|
|
if (RibbonTextSearch.TextBoxText.Trim().Length > 0)
|
|
{
|
|
load_standard(RibbonTextSearch.TextBoxText);
|
|
}
|
|
}
|
|
|
|
private void RibbonTextSearch_TextBoxKeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
load_standard(RibbonTextSearch.TextBoxText);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void ribbonButtonCreate_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
dokumenttypnr = Convert.ToInt32(treeViewAdv1.SelectedNode.Tag);
|
|
if (dokumenttypnr < 0) { return; }
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
private void ctxmenuerstellen_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
System.Data.DataRow row = treeViewAdv1.SelectedNode.TagObject as System.Data.DataRow;
|
|
dokumenttypnr = Convert.ToInt32(row["id"]);
|
|
if (dokumenttypnr < 0) { return; }
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
|
|
|
|
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (treeViewAdv1.SelectedNode.LeftImageIndices[0] == 0) { zuFavoritenHinzufügenToolStripMenuItem.Visible = false; return; }
|
|
if (favoriten) { zuFavoritenHinzufügenToolStripMenuItem.Visible = false; }
|
|
else { zuFavoritenHinzufügenToolStripMenuItem.Visible = true; }
|
|
}
|
|
catch { }
|
|
}
|
|
|
|
private void zuFavoritenHinzufügenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
DokTypFavoritenOrdner fo = new DokTypFavoritenOrdner(AppParams.CurrentMitarbeiter, treeViewAdv1.SelectedNode);
|
|
fo.ShowDialog();
|
|
}
|
|
|
|
|
|
|
|
private void treeViewAdv2_VisibleChanged(object sender, EventArgs e)
|
|
{
|
|
//toolStrip1.Visible = treeViewAdv2.Visible;
|
|
//if (treeViewAdv2.Visible == false)
|
|
//{
|
|
|
|
// this.Width = treeViewAdv1.Width + 10;
|
|
//}
|
|
//else
|
|
//{
|
|
// this.Width = treeViewAdv1.Width + treeViewAdv2.Width + 10;
|
|
//}
|
|
//treevisibility();
|
|
}
|
|
private void treeViewAdv1_NodeMouseDoubleClick(object sender, TreeViewAdvMouseClickEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (Convert.ToInt32(e.Node.Tag) < 0) { return; }
|
|
if (e.Node.LeftImageIndices[0] == 0) { return; }
|
|
System.Data.DataRow row = e.Node.TagObject as System.Data.DataRow;
|
|
dokumenttypnr = Convert.ToInt32(row["ID"]);
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
catch { }
|
|
}
|
|
private void treeViewAdv2_NodeMouseDoubleClick(object sender, TreeViewAdvMouseClickEventArgs e)
|
|
{
|
|
if (Convert.ToInt32(e.Node.Tag) < 0) { return; }
|
|
if (e.Node.LeftImageIndices[0] == 0) { return; }
|
|
System.Data.DataRow row = e.Node.TagObject as System.Data.DataRow;
|
|
dokumenttypnr = Convert.ToInt32(row["ID"]);
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
|
|
private void RibbonButtonVorlagen_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
if (RibbonButtonVorlagen.Checked == true)
|
|
{
|
|
|
|
grpVorlagen.Visible = true;
|
|
load_standard(toolstriptextboxsearch.Text);
|
|
treeViewAdv1_VisibleChanged(sender, e);
|
|
}
|
|
else
|
|
{
|
|
grpVorlagen.Visible = false;
|
|
treeViewAdv1_VisibleChanged(sender, e);
|
|
}
|
|
|
|
}
|
|
private void RibbonButtonFavoriten_Click(object sender, EventArgs e)
|
|
{
|
|
if (RibbonButtonFavoriten.Checked == true)
|
|
{
|
|
|
|
Load_Favoriten("");
|
|
favoriten = true;
|
|
treevisibility();
|
|
//treeViewAdv2_VisibleChanged(sender, e);
|
|
}
|
|
else
|
|
{
|
|
favoriten = false;
|
|
treevisibility();
|
|
//treeViewAdv1_VisibleChanged(sender, e);
|
|
}
|
|
}
|
|
|
|
public void New_Favoriten()
|
|
{
|
|
RibbonButtonVorlagen.Checked = false;
|
|
this.favoriten = true;
|
|
RibbonButtonVorlagen_Click(null, null);
|
|
|
|
RibbonButtonFavoriten_Click(null, null);
|
|
}
|
|
|
|
private void treeViewAdv1_VisibleChanged(object sender, EventArgs e)
|
|
{
|
|
treevisibility();
|
|
}
|
|
private void treevisibility()
|
|
{
|
|
|
|
if (RibbonButtonVorlagen.Checked == true & RibbonButtonFavoriten.Checked == false)
|
|
{
|
|
grpVorlagen.Visible = true;
|
|
grpFavoriten.Visible = false;
|
|
grpVorlagen.Dock = DockStyle.Fill;
|
|
this.Width = SaveFormWidth;
|
|
}
|
|
if (RibbonButtonVorlagen.Checked == false & RibbonButtonFavoriten.Checked == true)
|
|
{
|
|
grpVorlagen.Visible = false;
|
|
grpFavoriten.Visible = true;
|
|
grpFavoriten.Dock = DockStyle.Fill;
|
|
this.Width = SaveFormWidth; ;
|
|
}
|
|
if (RibbonButtonVorlagen.Checked == false & RibbonButtonFavoriten.Checked == false)
|
|
{
|
|
grpVorlagen.Visible = false;
|
|
grpFavoriten.Visible = false;
|
|
}
|
|
|
|
if (RibbonButtonVorlagen.Checked == true & RibbonButtonFavoriten.Checked == true)
|
|
{
|
|
grpVorlagen.Visible = true;
|
|
grpFavoriten.Visible = true;
|
|
grpVorlagen.Dock = DockStyle.Left;
|
|
grpFavoriten.Dock = DockStyle.Left;
|
|
//grpVorlagen.Width = this.Width / 2;
|
|
this.Width = SaveFormWidth * 2;
|
|
grpFavoriten.Width = grpVorlagen.Width;
|
|
}
|
|
|
|
|
|
// this.Width = treeViewAdv1.Width + 10; ;
|
|
//if (treeViewAdv1.Visible == true && treeViewAdv2.Visible == true) { this.Width = treeViewAdv1.Width + treeViewAdv2.Width + 10; }
|
|
}
|
|
|
|
private void umbenennenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (treeViewAdv2.SelectedNode.LeftImageIndices[0] != 0) { return; }
|
|
string NodeName = "";
|
|
InputDialog id = new InputDialog("Ornder umbennennen", "Name des neuen Ordners", treeViewAdv2.SelectedNode.Text);
|
|
if (id.ShowDialog() == DialogResult.OK) { NodeName = id.result; } else { return; }
|
|
|
|
System.Data.DataRow dr = treeViewAdv2.SelectedNode.TagObject as System.Data.DataRow;
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Exec_SQL("update relaunch_favoriten set bezeichnung='" + NodeName + "' where id=" + dr[0].ToString());
|
|
db = null;
|
|
Load_Favoriten("");
|
|
}
|
|
|
|
private void ordnerLöschenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (treeViewAdv2.SelectedNode.LeftImageIndices[0] == 0)
|
|
{
|
|
if (MessageBox.Show("Order und alle darunter liegenden Elemente entfernen?", "Ordner entfernen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
delete_elements(treeViewAdv2.SelectedNode);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (MessageBox.Show("Vorlage aus Favoriten entfernen?", "Vorlage entfernen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
delete_elements(treeViewAdv2.SelectedNode);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private void delete_elements(TreeNodeAdv node)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
System.Data.DataRow dr = node.TagObject as System.Data.DataRow;
|
|
db.Exec_SQL("update relaunch_favoriten set aktiv=0 where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString() + " and id = " + dr[0].ToString());
|
|
for (int i = 0; i < 5; i++)
|
|
{
|
|
db.Exec_SQL("update relaunch_favoriten set aktiv=0 where aktiv=1 and mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString() + " and parentid<>0 and parentid not in (select id from relaunch_favoriten)");
|
|
}
|
|
db = null;
|
|
Load_Favoriten("");
|
|
}
|
|
|
|
|
|
private void neuerUnterordnerToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
NeuerOrdner();
|
|
}
|
|
|
|
private void NeuerOrdner()
|
|
{
|
|
string NodeName = "";
|
|
InputDialog id = new InputDialog("Neuer Ordner", "Name des neuen Ordners", "");
|
|
if (id.ShowDialog() == DialogResult.OK) { NodeName = id.result; } else { return; }
|
|
|
|
TreeNodeAdv newnode = new TreeNodeAdv();
|
|
if (NodeName != "")
|
|
{
|
|
if (treeViewAdv2.Nodes.Count == 0 || treeViewAdv2.SelectedNode == null)
|
|
{
|
|
newnode.Text = NodeName;
|
|
newnode.Tag = "0";
|
|
newnode.LeftImageIndices = new int[] { 0 };
|
|
treeViewAdv2.Nodes.Add(newnode);
|
|
save_new_entry(newnode, 0);
|
|
}
|
|
else
|
|
{
|
|
newnode.Text = NodeName;
|
|
newnode.Tag = "0";
|
|
newnode.LeftImageIndices = new int[] { 0 };
|
|
treeViewAdv2.SelectedNode.Nodes.Add(newnode);
|
|
System.Data.DataRow dr = treeViewAdv2.SelectedNode.TagObject as System.Data.DataRow;
|
|
save_new_entry(newnode, Convert.ToInt32(dr["pid"]));
|
|
}
|
|
}
|
|
}
|
|
private void save_new_entry(TreeNodeAdv node, int parent, int doktypnr = 0)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select top 1 id from Relaunch_Favoriten where typ=" + vorlagentype.ToString() + " order by id desc", false, true);
|
|
int newkey = 0;
|
|
try { newkey = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0][0]); } catch { }
|
|
newkey = newkey + 1;
|
|
db.dsdaten.Tables.Clear();
|
|
db.Get_Tabledata_for_Update("Select * from Relaunch_Favoriten where mitarbeiternr=-1", false, true);
|
|
System.Data.DataRow dr = db.daten.Tables[0].NewRow();
|
|
dr[0] = newkey;
|
|
try
|
|
{
|
|
dr[1] = parent;
|
|
}
|
|
catch { dr[1] = 0; }
|
|
dr[2] = vorlagentype;
|
|
dr[3] = node.Text;
|
|
dr[4] = doktypnr;
|
|
dr[5] = AppParams.CurrentMitarbeiter;
|
|
dr[6] = true;
|
|
db.daten.Tables[0].Rows.Add(dr);
|
|
db.Update_Data();
|
|
|
|
Load_Favoriten("");
|
|
|
|
}
|
|
|
|
private void neuerOrdnerAufObesterEbeneToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
treeViewAdv2.SelectedNode = null;
|
|
NeuerOrdner();
|
|
}
|
|
|
|
#region "DragDrop"
|
|
private void treeViewAdv1_ItemDrag(object sender, ItemDragEventArgs e)
|
|
{
|
|
TreeViewAdv treeViewAdv = sender as TreeViewAdv;
|
|
TreeNodeAdv[] nodes = e.Item as TreeNodeAdv[];
|
|
TreeNodeAdv node = nodes[0];
|
|
{
|
|
if (node.LeftImageIndices[0] != 0)
|
|
{
|
|
dragSender_Favoriten = false;
|
|
DragDropEffects result = treeViewAdv.DoDragDrop(node, DragDropEffects.Copy);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private TreeNodeAdv currentSourceNode;
|
|
private bool CanDrop(TreeNodeAdv sourceNode, TreeNodeAdv destinationNode)
|
|
{
|
|
if (destinationNode == null ||
|
|
destinationNode == sourceNode || destinationNode.LeftImageIndices[0] != 0)
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
private TreeViewAdvDragHighlightTracker treeViewDragHighlightTracker1 = null;
|
|
private void treeViewAdv2_DragOver(object sender, DragEventArgs e)
|
|
{
|
|
// Determine drag effects
|
|
bool droppable = true;
|
|
TreeNodeAdv destinationNode = null;
|
|
TreeViewAdv treeView = sender as TreeViewAdv;
|
|
Point ptInTree = treeView.PointToClient(new Point(e.X, e.Y));
|
|
this.currentSourceNode = null;
|
|
|
|
// Looking for a single tree node.
|
|
if (e.Data.GetDataPresent(typeof(TreeNodeAdv)))
|
|
{
|
|
// Get the destination and source node.
|
|
destinationNode = treeView.GetNodeAtPoint(ptInTree);
|
|
TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv));
|
|
this.currentSourceNode = sourceNode;
|
|
droppable = this.CanDrop(sourceNode, destinationNode);
|
|
}
|
|
else
|
|
droppable = false;
|
|
|
|
if (droppable)
|
|
e.Effect = DragDropEffects.Copy;
|
|
else
|
|
e.Effect = DragDropEffects.None;
|
|
this.treeViewDragHighlightTracker1.SetHighlightNode(destinationNode, ptInTree);
|
|
|
|
}
|
|
|
|
private void TreeDragDrop_QueryAllowedPositionsForNode1(object sender, QueryAllowedPositionsEventArgs e)
|
|
{
|
|
if (!this.IsOrdner(e.HighlightNode))
|
|
{
|
|
if (e.HighlightNode != this.currentSourceNode || e.HighlightNode.LeftImageIndices[0] == 0)
|
|
e.AllowedPositions = TreeViewDropPositions.OnNode;
|
|
else
|
|
e.AllowedPositions = TreeViewDropPositions.None;
|
|
|
|
this.treeViewDragHighlightTracker1.EdgeSensitivityOnTop = e.HighlightNode.Bounds.Height / 2;
|
|
e.ShowSelectionHighlight = false;
|
|
}
|
|
else
|
|
{
|
|
this.treeViewDragHighlightTracker1.EdgeSensitivityOnTop = e.HighlightNode.Bounds.Height / 4;
|
|
e.ShowSelectionHighlight = false;
|
|
}
|
|
}
|
|
private bool IsOrdner(TreeNodeAdv node)
|
|
{
|
|
if (node.Tag == null
|
|
|| node.LeftImageIndices[0] != 0)
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
return true;
|
|
}
|
|
|
|
private void treeViewDragHighlightTracker_QueryDragInsertInfo1(object sender, QueryDragInsertInfoEventArgs args)
|
|
{
|
|
args.DragInsertColor = Color.White;
|
|
}
|
|
|
|
private void treeViewAdv2_DragDrop(object sender, DragEventArgs e)
|
|
{
|
|
TreeViewAdv treeView = sender as TreeViewAdv;
|
|
TreeNodeAdv sourceNode = (TreeNodeAdv)e.Data.GetData(typeof(TreeNodeAdv));
|
|
TreeNodeAdv destinationNode = this.treeViewDragHighlightTracker1.HighlightNode;
|
|
TreeViewDropPositions dropPosition = this.treeViewDragHighlightTracker1.DropPosition;
|
|
this.treeViewDragHighlightTracker1.ClearHighlightNode();
|
|
this.currentSourceNode = null;
|
|
TreeNodeAdv newnode = sourceNode.Clone();
|
|
if (destinationNode != null)
|
|
{
|
|
switch (dropPosition)
|
|
{
|
|
case TreeViewDropPositions.AboveNode:
|
|
//sourceNode.Move(destinationNode, NodePositions.Previous);
|
|
break;
|
|
case TreeViewDropPositions.BelowNode:
|
|
//sourceNode.Move(destinationNode, NodePositions.Next);
|
|
break;
|
|
case TreeViewDropPositions.OnNode:
|
|
treeViewAdv2.BeginEdit();
|
|
destinationNode.Nodes.Add(newnode);
|
|
System.Data.DataRow dr = newnode.Parent.TagObject as System.Data.DataRow;
|
|
save_new_entry(newnode, Convert.ToInt32(dr["pid"]), Convert.ToInt32(newnode.Tag));
|
|
destinationNode.Expand();
|
|
if (dragSender_Favoriten == true)
|
|
{
|
|
delete_elements(sourceNode);
|
|
treeViewAdv2.Nodes.Remove(sourceNode);
|
|
}
|
|
treeViewAdv2.EndEdit();
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
// treeView.SelectedNode = sourceNode;
|
|
|
|
}
|
|
#endregion
|
|
|
|
private void tsbtnNewRoot_Click(object sender, EventArgs e)
|
|
{
|
|
neuerOrdnerAufObesterEbeneToolStripMenuItem_Click(sender, e);
|
|
}
|
|
|
|
private void tsbtnNewFolder_Click(object sender, EventArgs e)
|
|
{
|
|
neuerUnterordnerToolStripMenuItem_Click(sender, e);
|
|
}
|
|
|
|
private void tsbtnRename_Click(object sender, EventArgs e)
|
|
{
|
|
umbenennenToolStripMenuItem_Click(sender, e);
|
|
}
|
|
|
|
private void tsbtndelete_Click(object sender, EventArgs e)
|
|
{
|
|
ordnerLöschenToolStripMenuItem_Click(sender, e);
|
|
}
|
|
|
|
private void treeViewAdv2_ItemDrag(object sender, ItemDragEventArgs e)
|
|
{
|
|
TreeViewAdv treeViewAdv = sender as TreeViewAdv;
|
|
TreeNodeAdv[] nodes = e.Item as TreeNodeAdv[];
|
|
TreeNodeAdv node = nodes[0];
|
|
{
|
|
if (node.LeftImageIndices[0] != 0)
|
|
{
|
|
dragSender_Favoriten = true;
|
|
DragDropEffects result = treeViewAdv.DoDragDrop(node, DragDropEffects.Copy);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void ribbonButtonClear_Click(object sender, EventArgs e)
|
|
{
|
|
RibbonTextSearch.Text = "";
|
|
load_standard("");
|
|
}
|
|
|
|
private void toolstriptextboxsearch_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
load_standard(toolstriptextboxsearch.Text);
|
|
}
|
|
}
|
|
|
|
private void toolStripButton1_Click(object sender, EventArgs e)
|
|
{
|
|
if (toolstriptextboxsearch.Text.Trim().Length > 0)
|
|
{
|
|
load_standard(toolstriptextboxsearch.Text);
|
|
}
|
|
}
|
|
|
|
private void toolStripButton2_Click(object sender, EventArgs e)
|
|
{
|
|
toolstriptextboxsearch.Text = "";
|
|
load_standard("");
|
|
}
|
|
|
|
private void toolStripButton4_Click(object sender, EventArgs e)
|
|
{
|
|
toolstripCombobox_Fachverantwortung.Text = "";
|
|
}
|
|
|
|
private void toolstripCombobox_Fachverantwortung_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
load_standard(toolstriptextboxsearch.Text);
|
|
}
|
|
|
|
private void detailsAnzeigenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
System.Data.DataRow row = treeViewAdv1.SelectedNode.TagObject as System.Data.DataRow;
|
|
dokumenttypnr = Convert.ToInt32(row["ID"]);
|
|
if (vorlagentype == 2)
|
|
{
|
|
DokTypDetails dd = new DokTypDetails(dokumenttypnr, true);
|
|
dd.ShowDialog();
|
|
return;
|
|
}
|
|
if (treeViewAdv1.SelectedNode.Text.Contains("Ohne Archivierung]"))
|
|
{
|
|
DokTypDetails dd = new DokTypDetails(dokumenttypnr,1);
|
|
dd.ShowDialog();
|
|
} else
|
|
{
|
|
DokTypDetails dd = new DokTypDetails(dokumenttypnr);
|
|
dd.ShowDialog();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void detailsAnzeigenToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
{
|
|
System.Data.DataRow row = treeViewAdv2.SelectedNode.TagObject as System.Data.DataRow;
|
|
dokumenttypnr = Convert.ToInt32(row[6]);
|
|
|
|
if (treeViewAdv2.SelectedNode.Text.Contains("Ohne Archivierung]"))
|
|
{
|
|
DokTypDetails dd = new DokTypDetails(dokumenttypnr, 1);
|
|
dd.ShowDialog();
|
|
}
|
|
else
|
|
{
|
|
DokTypDetails dd = new DokTypDetails(dokumenttypnr);
|
|
dd.ShowDialog();
|
|
}
|
|
// DokTypDetails dd = new DokTypDetails(dokumenttypnr);
|
|
// dd.ShowDialog();
|
|
}
|
|
|
|
private void DokTypSelect_SizeChanged(object sender, EventArgs e)
|
|
{
|
|
treevisibility();
|
|
}
|
|
}
|
|
}
|