using Database; using OnDoc.Klassen; 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 Syncfusion.Windows.Forms; using Syncfusion.Windows.Forms.Tools; using Syncfusion.WinForms.Controls; using OnDoc.Diverses; using NLog; using Windows.Media.Audio; namespace OnDoc.DocMgmt { public partial class DokTypFavoritenOrdner : SfForm { public int mitarbeiternr { get; set; } public TreeNodeAdv sourcenoude { get; set; } public DokTypFavoritenOrdner(int mitarbeiternr, TreeNodeAdv sourcenode) { InitializeComponent(); this.mitarbeiternr = mitarbeiternr; this.sourcenoude = sourcenode; this.Style.TitleBar.BackColor = Theaming.Titelbar(); this.Style.TitleBar.ForeColor = Theaming.TitelFontColor(); } private void DokTypFavoritenOrdner_Load(object sender, EventArgs e) { Load_Favoriten(""); } private void Load_Favoriten(string filter) { Cursor = Cursors.WaitCursor; if (AppParams.connectionstring == "") { AppParams.init(); } treeViewAdv1.Enabled = false; treeViewAdv1.Visible = false; treeViewAdv1.BeginEdit(); treeViewAdv1.Nodes.Clear(); DataTable vorlagen = new DataTable(); DataTable Struktur = new DataTable(); DataSet ds = new DataSet(); string sql = "Select * from view_favoriten_vorlagen where id=0 and aktiv=1 and mitarbeiternr=" + AppParams.CurrentMitarbieter.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); treeViewAdv1.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 }; } ; treeViewAdv1.Nodes.Add(root); //Recursively builds the tree PopulateTree_Favoriten(dr, root); } } treeViewAdv1.ExpandAll(); try { treeViewAdv1.SelectedNode = treeViewAdv1.Nodes[0]; } catch { } treeViewAdv1.EndEdit(); treeViewAdv1.Enabled = true; treeViewAdv1.Visible = 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()); //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[] { 1 }; } //Recursively build the tree PopulateTree_Favoriten(row, cChild); } } 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 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); DataRow dr = db.daten.Tables[0].NewRow(); dr[0] = newkey; try { dr[1] = parent; } catch { dr[1] = 0; } dr[2] = 1; dr[3] = node.Text; dr[4] = doktypnr; dr[5] = AppParams.CurrentMitarbieter; dr[6] = true; db.daten.Tables[0].Rows.Add(dr); db.Update_Data(); Load_Favoriten(""); } private void btnNeuerOrdner_Click(object sender, EventArgs e) { 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 (treeViewAdv1.Nodes.Count == 0 || treeViewAdv1.SelectedNode == null) { newnode.Text = NodeName; newnode.Tag = "0"; newnode.LeftImageIndices = new int[] { 0 }; treeViewAdv1.Nodes.Add(newnode); save_new_entry(newnode, 0); } else { newnode.Text = NodeName; newnode.Tag = "0"; newnode.LeftImageIndices = new int[] { 0 }; treeViewAdv1.SelectedNode.Nodes.Add(newnode); DataRow dr = treeViewAdv1.SelectedNode.TagObject as DataRow; save_new_entry(newnode, Convert.ToInt32(dr["pid"])); } } } private static DialogResult ShowInputDialog(ref string input) { System.Drawing.Size size = new System.Drawing.Size(200, 70); Form inputBox = new Form(); inputBox.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; inputBox.ClientSize = size; inputBox.Text = "Name"; System.Windows.Forms.TextBox textBox = new TextBox(); textBox.Size = new System.Drawing.Size(size.Width - 10, 23); textBox.Location = new System.Drawing.Point(5, 5); textBox.Text = input; inputBox.Controls.Add(textBox); Button okButton = new Button(); okButton.DialogResult = System.Windows.Forms.DialogResult.OK; okButton.Name = "okButton"; okButton.Size = new System.Drawing.Size(75, 23); okButton.Text = "&OK"; okButton.Location = new System.Drawing.Point(size.Width - 80 - 80, 39); inputBox.Controls.Add(okButton); Button cancelButton = new Button(); cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel; cancelButton.Name = "cancelButton"; cancelButton.Size = new System.Drawing.Size(75, 23); cancelButton.Text = "&Cancel"; cancelButton.Location = new System.Drawing.Point(size.Width - 80, 39); inputBox.Controls.Add(cancelButton); inputBox.AcceptButton = okButton; inputBox.CancelButton = cancelButton; DialogResult result = inputBox.ShowDialog(); input = textBox.Text; return result; } private void umbenennenToolStripMenuItem_Click(object sender, EventArgs e) { string NodeName = ""; InputDialog id = new InputDialog("Neuer Ordner", "Name des neuen Ordners", treeViewAdv1.SelectedNode.Text); if (id.ShowDialog() == DialogResult.OK) { NodeName = id.result; } else { return; } DataRow dr = treeViewAdv1.SelectedNode.TagObject as 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 (MessageBox.Show("Order und aller darunter liegenden Elemente löschen?", "Ordner löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { delete_elements(treeViewAdv1.SelectedNode); } } private void delete_elements(TreeNodeAdv node) { DB db = new DB(AppParams.connectionstring); DataRow dr = node.TagObject as DataRow; db.Exec_SQL("update relaunch_favoriten set aktiv=0 where mitarbeiternr=" + AppParams.CurrentMitarbieter.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.CurrentMitarbieter.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) { btnNeuerOrdner_Click(sender, e); } private void neuerOrdnerAufObesterEbeneToolStripMenuItem_Click(object sender, EventArgs e) { treeViewAdv1.SelectedNode = null; btnNeuerOrdner_Click(sender, e); } private void button1_Click(object sender, EventArgs e) { InputDialog dlg = new InputDialog(); } } }