public void FillKeysForNode(int i) { //Subs called:- None //Properties Altered:- None // Add keys that point to the selected node to the drop down list using (HowToDBEntities db = new HowToDBEntities()) { var keys = from k in db.Keys where k.NodeID == i select k; treedrpKeys.Items.Clear(); if (keys.Count() < 1) { treedrpKeys.Enabled = false; } else { treedrpKeys.Enabled = true; foreach (Key key in keys) { treedrpKeys.Items.Add(key.KeyText); } } } }
// Key Methods public int CreateNewKey(int RecordID, string Key) { using (HowToDBEntities db = new HowToDBEntities()) { Key k = new Key { TreeID = (short)this.CurrentTree, NodeID = RecordID, TypeID = 7, KeyText = Key }; db.Keys.Add(k); db.SaveChanges(); RecordID = k.KeyID; var keys = (from ke in db.Keys where ke.TreeID == 2 orderby ke.KeyText select new { ke.KeyText }).Distinct(); if (keys.Count() > 0) { treelbxKeys.DataSource = keys.ToList(); treelbxKeys.DataBind(); } } return(RecordID); }
public virtual void Search() { //Subs called:- BindNodes NodeChanged //Properties Altered:- NodeSelectCmd if (treebtnSrchBack.Enabled == false) { treebtnSrchBack.ImageUrl = "images/Icons/Back.png"; treebtnSrchBack.Enabled = true; } // Only display nodes that match the keys entered using (HowToDBEntities db = new HowToDBEntities()) { var keys = from k in db.Keys where k.TreeID == 2 && k.KeyText == this.SelectedKey select k; if (keys.Count() > 0) { List <Node> nodes = new List <Node>(); foreach (var k in keys) { Node n = db.Nodes.Single(node => node.NodeID == k.NodeID); nodes.Add(n); } treelbxNodes.DataSource = nodes; treelbxNodes.DataBind(); } } }
public void UpdateNode(int i) { using (HowToDBEntities db = new HowToDBEntities()) { Node node = db.Nodes.FirstOrDefault(n => n.NodeID == i); node.Heading = treetxtHeading.Text; node.NodeText = treetxtNodeText.Text; db.SaveChanges(); } }
public void SrchBack() { //Subs called:- ResetSearch BindNodes ResetFilters NodeChanged //Properties Altered:- ParentNode CurrentLevel SelectedNode treebtnSrchBack.ImageUrl = "images/Icons/Back_Disabled.png"; treebtnSrchBack.Enabled = false; using (HowToDBEntities db = new HowToDBEntities()) { if (this.CurrentLevel == 1) { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode orderby n.Heading select n; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } else { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode select n; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } var keys = (from k in db.Keys where k.TreeID == 2 orderby k.KeyText select new { k.KeyText }).Distinct(); if (keys.Count() > 0) { treelbxKeys.DataSource = keys.ToList(); treelbxKeys.DataBind(); } } }
// Node Methods public int CreateNewNode() { int RecordID; using (HowToDBEntities db = new HowToDBEntities()) { Node n = new Node { TreeID = (short)this.CurrentTree, TypeID = (short)this.NodeType, TreeLevel = (short)this.CurrentLevel, ParentNodeID = this.ParentNode, Heading = treetxtHeading.Text, NodeText = treetxtNodeText.Text }; db.Nodes.Add(n); db.SaveChanges(); RecordID = n.NodeID; if (this.CurrentLevel == 1) { var nodes = from no in db.Nodes where no.TreeID == 2 && no.ParentNodeID == this.ParentNode orderby no.Heading select no; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } else { var nodes = from no in db.Nodes where no.TreeID == 2 && no.ParentNodeID == this.ParentNode select no; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } } return(RecordID); }
// Buttons Clicked // Node Tools Buttons public virtual void Refresh() { //Subs called:- BindNodes NodeChanged //Properties Altered:- NodeFilter switch (treedrpFilterOn.SelectedItem.Text) { case "Heading": // Display only nodes with headings like that specified using (HowToDBEntities db = new HowToDBEntities()) { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode && n.Heading.Contains(treetxtFilterText.Text) == true select n; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } break; default: // Clear the filter on nodes displayed using (HowToDBEntities db = new HowToDBEntities()) { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode orderby n.Heading select n; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } break; } treetxtFilterText.Text = ""; }
public void Up() { //Subs called:- ResetSearch BindNodes ResetFilters NodeChanged //Properties Altered:- SelectedNode ParentNode CurrentLevel // Parent becomes Selected Node this.SelectedNode = this.ParentNode; // Going up a level this.CurrentLevel = this.CurrentLevel - 1; // Get the new parent using (HowToDBEntities db = new HowToDBEntities()) { Node node = db.Nodes.First(n => n.NodeID == this.SelectedNode); this.ParentNode = node.ParentNodeID; if (this.CurrentLevel == 1) { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode orderby n.Heading select n; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } else { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode select n; if (nodes.Count() > 0) { treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } } }
public void Down() { //Subs called:- ResetSearch BindNodes ResetFilters NodeChanged //Properties Altered:- ParentNode CurrentLevel SelectedNode // Selected Node becomes Parent this.ParentNode = this.SelectedNode; // Going down a level this.CurrentLevel = this.CurrentLevel + 1; // Get 1st child, if (there werent any the down button would have been disabled using (HowToDBEntities db = new HowToDBEntities()) { var nodes = from n in db.Nodes where n.TreeID == 2 && n.ParentNodeID == this.ParentNode select n; if (nodes.Count() > 0) { // 1st child becomes the new selected node this.SelectedNode = nodes.First().NodeID; treelbxNodes.DataSource = nodes.ToList(); treelbxNodes.DataBind(); } } }
protected void Page_Load(object sender, EventArgs e) { int NodeType, TreeType; Notes = new NoteTree( gvSummarize, lblPercentReduction, lblNoteTools, lblInfoTools, lbxNodes, lbxInfo, lbxKeys, drpKeys, drpFilterOn, drpSearchOn, drpTxtOpr, drpInfoTypes, drpSummaries, drpPictureType, btnUp, btnDown, btnSummary, btnRefresh, btnRefreshInfo, btnEdit, btnEditInfo, btnNew, btnNewInfo, btnNewChild, btnInfoNode, btnRestoreInfo, btnSave, btnSaveInfo, btnAddKeyWord, btnNewSummary, btnSaveSummary, btnPrevPicture, btnNextPicture, btnSavePicture, btnGo, btnBackOut, btnSearch, btnSrchBack, rdoNotes, rdoInfo, rdoSmallSumm, rdoLargeSumm, rdoLargestSumm, filUpload, Picture, txtFilterText, txtSearchFilter, txtKeyWord, txtHeading, txtNodeText, txtPictureTitle, txtSummText, txtTxtSpecs); if (!Page.IsPostBack) { // Initialize all settings NodeType = 5; TreeType = 2; Notes.InitialSettings(TreeType, NodeType); using (HowToDBEntities db = new HowToDBEntities()) { var nodes = from n in db.Nodes where n.TreeID == 2 && n.TreeLevel == 1 orderby n.Heading select new { n.Heading, n.NodeID }; if (nodes.Count() > 0) { lbxNodes.DataSource = nodes.ToList(); lbxNodes.DataBind(); } var infos = from i in db.Infoes where i.TreeID == 2 select i; if (infos.Count() > 0) { lbxInfo.DataSource = infos.ToList(); lbxInfo.DataBind(); } var keys = (from n in db.Keys where n.TreeID == 2 orderby n.KeyText select new { n.KeyText, }).Distinct(); if (keys.Count() > 0) { lbxKeys.DataSource = keys.ToList(); lbxKeys.DataBind(); } var infotypes = from t in db.Typs where t.Category == "Info" select t; if (infotypes.Count() > 0) { drpInfoTypes.DataSource = infotypes.ToList(); drpInfoTypes.DataBind(); } var picturetypes = from t in db.Typs where t.Category == "Pictures" select t; if (infos.Count() > 0) { drpPictureType.DataSource = picturetypes.ToList(); drpPictureType.DataBind(); } } Notes.NodeChanged(); SetViewStates("Define"); SetViewStates("All"); } else { // Copy from viewstate variables SetViewStates("PostBack"); using (HowToDBEntities db = new HowToDBEntities()) { var infotypes = from t in db.Typs where t.Category == "Info" select t; if (infotypes.Count() > 0) { drpInfoTypes.DataSource = infotypes.ToList(); drpInfoTypes.DataBind(); } var picturetypes = from t in db.Typs where t.Category == "Pictures" select t; if (picturetypes.Count() > 0) { drpPictureType.DataSource = picturetypes.ToList(); drpPictureType.DataBind(); } } } }
// Search Tools Buttons public void SearchRefresh() { //Subs called:- ResetFilters InitialSettings BindNodes NodeChanged //BindKeys //Properties Altered:- SearchFilter switch (treedrpSearchOn.SelectedItem.Text) { case "Key Like": // Only display keys like the string entered using (HowToDBEntities db = new HowToDBEntities()) { var keys = (from k in db.Keys where k.TreeID == 2 && k.KeyText.Contains(treetxtSearchFilter.Text) == true orderby k.KeyText select new { k.KeyText }).Distinct(); if (keys.Count() > 0) { treelbxKeys.DataSource = keys.ToList(); treelbxKeys.DataBind(); } } break; case "Key": // Only display keys like the string entered using (HowToDBEntities db = new HowToDBEntities()) { var keys = (from k in db.Keys where k.TreeID == 2 && k.KeyText == treetxtSearchFilter.Text orderby k.KeyText select new { k.KeyText }).Distinct(); if (keys.Count() > 0) { treelbxKeys.DataSource = keys.ToList(); treelbxKeys.DataBind(); } } break; default: // Clear the filter on nodes displayed using (HowToDBEntities db = new HowToDBEntities()) { var keys = (from k in db.Keys where k.TreeID == 2 orderby k.KeyText select new { k.KeyText }).Distinct(); if (keys.Count() > 0) { treelbxKeys.DataSource = keys.ToList(); treelbxKeys.DataBind(); } } break; } treetxtSearchFilter.Text = ""; }
public virtual void NodeChanged() { // Subs called:- InitialSettings BindNodes BindKeys InitPage // DisplayNoNodeFound DisplayNode FillKeysForNode AlsoChanged // Properties Altered:- Operation SelectedNode ParentNode CurrentLevel string str; //Get Selected treelbxNodes Node if (treelbxNodes.Items.Count < 1) { // if (there arent any nodes in the list box reset to initial // settings and display a message saying no nodes selected InitialSettings(this.CurrentTree, this.NodeType); DisplayNoNodeFound(); } else { // if (this is a new node that's just been saved select the new // node so its displayed in the nodes listbox opposed to // selecting the 1st node in the list // if (this is a new child just drop through to below which selects 1st item (New Child will always be 1st item) if (this.Operation == "New" && this.SavedYet && this.SelectedNode > 0) { treelbxNodes.Items.FindByValue(this.SelectedNode.ToString()).Selected = true; } if (this.Operation == "Edit" && this.SavedYet && this.SelectedNode > 0) { treelbxNodes.Items.FindByValue(this.SelectedNode.ToString()).Selected = true; } // There are nodes in the nodes list box if (none have been selected select the 1st node if (treelbxNodes.SelectedIndex < 0) { treelbxNodes.Items[0].Selected = true; } // Given the above a node should always now be selected str = treelbxNodes.SelectedValue; this.SelectedNode = (int)Int64.Parse(str); // Retrieve this node + set parent + current level using (HowToDBEntities db = new HowToDBEntities()) { var nodes = from n in db.Nodes where n.NodeID == this.SelectedNode select n; this.ParentNode = nodes.First().ParentNodeID; this.CurrentLevel = nodes.First().TreeLevel; // Display 1st row with this NodeID (should only be one NodeID is the Primary Key) DisplayNode(nodes.First().Heading, nodes.First().NodeText); // Add keys that point to the selected node to the drop down list FillKeysForNode(this.SelectedNode); // Does the Selected Node have any children? if (so enable the down Button var children = from n in db.Nodes where n.ParentNodeID == this.SelectedNode select n; if (children.Count() > 0) { treebtnDown.Enabled = true; treebtnDown.ImageUrl = "images/Icons/Down.png"; } else { treebtnDown.Enabled = false; treebtnDown.ImageUrl = "images/Icons/Down_Disabled.png"; } } // Enable the Up button if (not at the top level if (this.CurrentLevel > 1) { treebtnUp.Enabled = true; treebtnUp.ImageUrl = "images/Icons/Up.png"; } else { treebtnUp.Enabled = false; treebtnUp.ImageUrl = "images/Icons/Up_Disabled.png"; } // if (Displaying Search Results Disable New && NewChild Buttons if (this.SearchDisplayed) { treebtnNew.Enabled = false; treebtnNewChild.Enabled = false; } else { treebtnNew.Enabled = true; treebtnNewChild.Enabled = true; } // if (at Chapter Level enable Chapter Summary Button if (this.CurrentLevel == 2) { treebtnSummary.Enabled = true; treebtnSummary.Visible = true; } else { treebtnSummary.Enabled = false; treebtnSummary.Visible = false; } // Set up page in Browse Mode InitPage("Browse"); } }