Ejemplo n.º 1
0
 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);
             }
         }
     }
 }
Ejemplo n.º 2
0
        // 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);
        }
Ejemplo n.º 3
0
 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();
         }
     }
 }
Ejemplo n.º 4
0
 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();
     }
 }
Ejemplo n.º 5
0
 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();
         }
     }
 }
Ejemplo n.º 6
0
        // 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);
        }
Ejemplo n.º 7
0
        // 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 = "";
        }
Ejemplo n.º 8
0
 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();
             }
         }
     }
 }
Ejemplo n.º 9
0
 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();
         }
     }
 }
Ejemplo n.º 10
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 11
0
        // 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 = "";
        }
Ejemplo n.º 12
0
        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");
            }
        }