Beispiel #1
0
        /// <summary>
        /// Constructs TreeNode object from database Category object
        /// </summary>
        /// <param name="db">database object</param>
        /// <param name="cat">category object</param>
        /// <param name="trv">tree view</param>
        public TreeNodeCategory(DisksDB.DataBase.DataBase db, DataBase.Category cat, TreeViewCatalog trv)
            : base(cat.Name, cat, true, true, "Category", -1, DateTime.Now, true, false, true, true, false)
        {
            Debug.Assert(null != trv);

            this.trv = trv;
            this.db = db;
            this.cat = cat;
            this.ImageIndex = TreeImages.Category;
            this.SelectedImageIndex = TreeImages.CategoryOpen;
            this.cat.NameChanged += new EventHandler(NameChanged);
            this.cat.ChildItemAdded += new EventHandlerItemAdded(ChildItemAdded);
            this.cat.ChildItemRemoved += new EventHandlerItemRemoved(ChildItemRemoved);
            this.cat.ChildsChanged += new EventHandler(ChildsChanged);
        }
Beispiel #2
0
        /// <summary>
        /// Explicitly loads/reloads tree contents
        /// </summary>
        public override void LoadTree()
        {
            try
            {
                this.rootCategory = this.DataBase.RootCategory;

                if (null == this.rootCategory)
                {
                    return;
                }

                this.rootCat = new TreeNodeCategory(this.DataBase, rootCategory, this);
                this.rootCat.LoadTreeNodeChilds();

                this.SelectedNode = this.rootCat;
            }
            catch (Exception ex)
            {
                ErrorMessenger.ErrorMessage(this, "Error occured while loading data", ex);
            }

            FillList();
        }
Beispiel #3
0
        private void saveCategory(object sender, EventArgs e)
        {
            if (categoryNameTextBox.Text.Length == 0)
            {
                MessageBox.Show(
                    "Please add a category name",
                    "Missing field",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
                return;
            }
            else if (categoryTypeComboBox.SelectedItem == null)
            {
                MessageBox.Show(
                    "Please select a category type",
                    "Missing field",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
                return;
            }

            var categoryName = categoryNameTextBox.Text;
            var categoryType = categoryTypeComboBox.SelectedItem.ToString();

            // database
            if (isUpdating)
            {
                using (DataBase.DBContainer db = new DataBase.DBContainer())
                {
                    var category = (from Categories in db.Categories
                                    where Categories.Id == Category.Id
                                    select Categories).FirstOrDefault();

                    if (category != null)
                    {
                        category.Name            = categoryName;
                        category.TransactionType = categoryType;
                    }

                    db.SaveChanges();
                }

                didSaveButtonPress = true;
                this.Close();
            }
            else
            {
                using (DataBase.DBContainer db = new DataBase.DBContainer())
                {
                    DataBase.Category category = new DataBase.Category
                    {
                        Name            = categoryName,
                        TransactionType = categoryType,
                    };

                    db.Categories.Add(category);
                    db.SaveChanges();
                }

                didSaveButtonPress = true;

                // data set
                this.dbData.Category.Rows.RemoveAt(0);
                this.dbData.AcceptChanges();

                // xml
                String filePath = String.Format(
                    "{0}\\{1}",
                    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
                    "DSCategories.txt"
                    );
                this.dbData.WriteXml(filePath);

                this.Close();
            }
        }