Ejemplo n.º 1
0
 private TreeView PopulateRootLevel()
 {
     DataTable dt = GetTableFromQuery("select * FROM Table_LookupCategories WHERE ParentCatId='-1'");
     TreeView tv = this.treeViewCategories;
     if ((dt == null) || (dt.Rows.Count == 0))
     {
         // create main category
         _linqLookupCategoryTableRow = new Table_LookupCategory();
         _linqLookupCategoryTableRow.CatHebrewName = "עמוד ראשי";
         _linqLookupCategoryTableRow.CatEnglishName = "Main|Home Page";
         _linqLookupCategoryTableRow.ParentCatId = -1;
         Db.Table_LookupCategories.InsertOnSubmit(_linqLookupCategoryTableRow);
         Db.SubmitChanges();
         dt = GetTableFromQuery("select * FROM Table_LookupCategories WHERE ParentCatId='-1'");
     }
     PopulateNodes(dt, tv.Nodes);
     return tv;
 }
Ejemplo n.º 2
0
        private void ToolStripMenuItemAddCategory_Click(object sender, EventArgs e)
        {
            TreeNode node = this.treeView1.SelectedNode;

            if (node == null)
                return;

            // creating new category in the DB
            int pId = int.Parse(node.ToolTipText);
            _tblLookupCategories = new Table_LookupCategory();
            _tblLookupCategories.CatHebrewName = "קטגוריה חדשה";
            _tblLookupCategories.CatEnglishName = "New Category";
            _tblLookupCategories.ParentCatId = pId;
            string ticksId = DateTime.Now.Ticks.ToString();
            _tblLookupCategories.Tags = ticksId;
            _db.Table_LookupCategories.InsertOnSubmit(_tblLookupCategories);
            _db.SubmitChanges();
            
            // getting the new category ID
            _tblLookupCategories = (from c in  _db.Table_LookupCategories
                                    where c.Tags.Trim() == ticksId
                                    select c).Single();

            node.Nodes.Add(_tblLookupCategories.CatHebrewName);
            node.Nodes[_tblLookupCategories.CatHebrewName].ToolTipText = _tblLookupCategories.CatId.ToString();            
        }
Ejemplo n.º 3
0
        private void FillFormWithSelectedNodeData()
        {
            if (selectedTreeNode == null)
                return;

            if (StringIsNullOrEmpty(selectedTreeNode.ToolTipText))
                return;

            int catId = int.Parse(selectedTreeNode.ToolTipText);

            _linqLookupCategoryTableRow = GetCategoryDataObjectById(catId); //(from c in _db.Table_LookupCategories
                                                                             //where catId == c.CatId
                                                                             //select c).Single();
            textBoxCategoryNameEnglish.Text = _linqLookupCategoryTableRow.CatEnglishName;
            textBoxCategoryNameHebrew.Text = _linqLookupCategoryTableRow.CatHebrewName;
            textBoxKeys.Text = _linqLookupCategoryTableRow.Description;
            textBoxTags.Text = _linqLookupCategoryTableRow.MetaTags;
            ConvertRelatedCategories_StringToList(_linqLookupCategoryTableRow.RelatedCatIds);
        }
Ejemplo n.º 4
0
        //private void ToolStripMenuItemAddCategory_Click(object sender, EventArgs e)
        //{
        //    _formState = CategoryEditorStateEnum.ADD;

        //    this.buttonSaveChanges.Enabled = true;
            
        //    // clear KEYS
        //    this.textBoxKeys.Text = "";
        //    // clear TAGS
        //    this.textBoxTags.Text = "";
        //    // clear RELATED CATEGORIES
        //    this.listBoxRelatedCategories.Items.Clear();

        //    this.textBoxCategoryNameEnglish.Text = "";
        //    this.textBoxCategoryNameHebrew.Text = "";

        //    //enabled only explicitly
        //    this.buttonDeleteCategory.Enabled = false;            
        //}

        private void DeleteCategoryFromDB(DialogResult dr, TreeNode parentNode)
        {
            if (parentNode == null)
                return;

            if (DialogResult.Yes == dr)
                foreach (TreeNode node in parentNode.Nodes)
                {
                    DeleteCategoryFromDB(dr, node);
                }
            
            try
            {
                // delete from DB
                int catId = int.Parse(selectedTreeNode.ToolTipText);

                _linqLookupCategoryTableRow = GetCategoryDataObjectById(catId); //(from c in _db.Table_LookupCategories
                                                                                 //where c.CatId == catId
                                                                                 //select c).Single();

                Db.Table_LookupCategories.DeleteOnSubmit(_linqLookupCategoryTableRow);
                Db.SubmitChanges();                
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }          

        }
Ejemplo n.º 5
0
 private static void InsertNewCategoryDataObject(Table_LookupCategory catLinqObj)
 {
     Db.Table_LookupCategories.InsertOnSubmit(catLinqObj);
     Db.SubmitChanges();
 }
Ejemplo n.º 6
0
        private void AddTreeNodeSiblingFromForm(TreeNode node)
        {
            if (NodeNameExistInSiblings(node))
                return;

            // ELSE:

            buttonSaveChanges.Enabled = false;

            try
            {
                int parentId = int.Parse(node.ToolTipText);

                if (_formState == CategoryEditorStateEnum.ADD)
                {
                    // add the node to tree
                    Form_CategoriesManager.newNode = node.Nodes.Add(textBoxCategoryNameHebrew.Text);

                    FillFromFormAndSaveToDB(parentId);

                    // fetching the new Category from DB to get its CatId
                    _linqLookupCategoryTableRow = (from c in Db.Table_LookupCategories
                                                   where c.CatHebrewName.Contains(textBoxCategoryNameHebrew.Text)
                                                   select c).Single();

                    newNode.ToolTipText = _linqLookupCategoryTableRow.CatId.ToString();
                    
                    _formState = CategoryEditorStateEnum.EDIT;
                }
                else if (_formState == CategoryEditorStateEnum.EDIT)
                {
                    FillFromFormAndSaveToDB(parentId);
                    selectedTreeNode.Text = textBoxCategoryNameHebrew.Text;
                }
            }
            catch (Exception ex)
            {
                buttonSaveChanges.Enabled = true;
                MessageBox.Show(ex.Message ,  "חלה שגיאה בהוספת קטגוריה" , MessageBoxButtons.OK , MessageBoxIcon.Error);
            }            
        }
Ejemplo n.º 7
0
        private void FillFromFormAndSaveToDB(int parentCatId)
        {
            if (_formState == CategoryEditorStateEnum.EDIT)
            {  // editing is on the "parent" (=selected) node
                // fetch record from DB
                _linqLookupCategoryTableRow = GetCategoryDataObjectById(parentCatId); //(from c in _db.Table_LookupCategories
                                                                                       //where c.CatId == parentCatId
                                                                                       //select c).Single();
            }
            else if (_formState == CategoryEditorStateEnum.ADD)
            {
                _linqLookupCategoryTableRow = new Table_LookupCategory();
            }

            //filling data from form
            _linqLookupCategoryTableRow.CatHebrewName = textBoxCategoryNameHebrew.Text;
            _linqLookupCategoryTableRow.CatEnglishName = textBoxCategoryNameEnglish.Text;
            _linqLookupCategoryTableRow.MetaTags = textBoxTags.Text;
            _linqLookupCategoryTableRow.RelatedCatIds = "";
            // fetching related cats from listbox
            foreach (object item in listBoxRelatedCategories.Items)
            {
                int relatedCatId = DataAccess.Lookup.GetLookupCategoryIdFromName((string)item);
                _linqLookupCategoryTableRow.RelatedCatIds += String.Format("{0}#", relatedCatId);
            }

            _linqLookupCategoryTableRow.RssId = _linqLookupCategoryTableRow.ParentCatId; // TBD - implement RSS support
            _linqLookupCategoryTableRow.Description = textBoxKeys.Text;

            try
            {
                if (_formState == CategoryEditorStateEnum.ADD)
                {
                    _linqLookupCategoryTableRow.ParentCatId = parentCatId;
                    // inserting the new category into the DB
                    Db.Table_LookupCategories.InsertOnSubmit(_linqLookupCategoryTableRow);
                }
                
                Db.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            
        }
        private void ToolStripMenuItemEditCategory_Click(object sender, EventArgs e)
        {
            selectedTreeNode = treeViewCategories.Nodes[0];

            if (selectedTreeNode.ToolTipText == "-1") 
                return;

            _formState = CategoryEditorStateEnum.EDIT;

            try
            {
                _linqLookupCategoryTableRow = (from c in _db.Table_LookupCategories
                                               where c.CatId == int.Parse(selectedTreeNode.ToolTipText)
                                               select c).Single();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            this.buttonSaveChanges.Enabled = true;
            
            // fetch KEYS
            this.textBoxKeys.Text = _linqLookupCategoryTableRow.Description;
            // fetch TAGS
            this.textBoxTags.Text = _linqLookupCategoryTableRow.MetaTags;
            // fetch RELATED CATEGORIES
            
            listBoxRelatedCategories.Items.Clear();
            if (_linqLookupCategoryTableRow.RelatedCatIds != null)
            {
                string[] relatedCategoriesIds = _linqLookupCategoryTableRow.RelatedCatIds.Split('#');

                foreach (string item in relatedCategoriesIds)
                {
                    try
                    {
                        string relatedCatStr = (from c in _db.Table_LookupCategories
                                                where c.CatId == int.Parse(item.Trim('#',' '))
                                                select c.CatHebrewName).Single();

                        listBoxRelatedCategories.Items.Add(relatedCatStr);
                    }
                    catch
                    {
                    }
                }
            }
            this.textBoxCategoryNameEnglish.Text = _linqLookupCategoryTableRow.CatEnglishName;
            this.textBoxCategoryNameHebrew.Text = _linqLookupCategoryTableRow.CatHebrewName; 

            this.buttonSaveChanges.Enabled = true;

            // only for delete need explicitly enabled
            this.checkBoxEnableDelete.Enabled = true;
            this.checkBoxEnableDelete.Checked = false;
            this.buttonDeleteCategory.Enabled = false;
        }
Ejemplo n.º 9
0
 private void detach_Table_LookupCategories1(Table_LookupCategory entity)
 {
     this.SendPropertyChanging();
     entity.Table_Article1 = null;
 }
Ejemplo n.º 10
0
 private void attach_Table_LookupCategories(Table_LookupCategory entity)
 {
     this.SendPropertyChanging();
     entity.Table_Article = this;
 }
 private void detach_Table_LookupCategories(Table_LookupCategory entity)
 {
     this.SendPropertyChanging();
     entity.Table_OriginalPhotosArchive = null;
 }