internal void EditCategory()
            {
                if (_comboBoxCategories.SelectedItem != null)
                {
                    var textBoxDialog = new TextBoxDialog(true, _categories[_comboBoxCategories.SelectedIndex].Order, _categories[_comboBoxCategories.SelectedIndex].Name);
                    textBoxDialog.numericId.Maximum = _categories.Count;
                    textBoxDialog.ShowDialog();
                    _categories[_comboBoxCategories.SelectedIndex].Name = textBoxDialog.textBox.Text;
                    var order = (int)textBoxDialog.numericId.Value;
                    textBoxDialog.Dispose();

                    if (order > _categories[_comboBoxCategories.SelectedIndex].Order)
                    {
                        for (int i = _categories[_comboBoxCategories.SelectedIndex].Order - 1; i <= order - 1; i++)
                        {
                            _categories[i].Order--;
                        }
                    }

                    else if (order < _categories[_comboBoxCategories.SelectedIndex].Order)
                    {
                        for (int i = order - 1; i < _categories[_comboBoxCategories.SelectedIndex].Order - 1; i++)
                        {
                            _categories[i].Order++;
                        }
                    }

                    _categories[_comboBoxCategories.SelectedIndex].Order = order;

                    RefreshCategoriesAndTypes();
                }
            }
            internal void AddCategory()
            {
                var textBoxDialog = new TextBoxDialog(false);

                textBoxDialog.ShowDialog();
                var name = textBoxDialog.textBox.Text;

                textBoxDialog.Dispose();

                _categories.Add(new CategoryDto
                {
                    Id    = _categories.Count > 0 ? _categories.Max(x => x.Id) + 1 : 1,
                    Name  = name,
                    Order = _categories.Count > 0 ? _categories.Count + 1 : 1,
                    Types = new List <TypeDto>()
                });

                RefreshCategoriesAndTypes();
            }
            internal void AddType()
            {
                if (_comboBoxCategories.SelectedItem != null)
                {
                    var textBoxDialog = new TextBoxDialog(false);
                    textBoxDialog.ShowDialog();
                    var name = textBoxDialog.textBox.Text;
                    textBoxDialog.Dispose();
                    var category = _categories[_comboBoxCategories.SelectedIndex];
                    var typeId   = category.Types.Count > 0 ? category.Types.Max(x => x.Id) + 1 : 1;

                    category.Types.Add(new TypeDto
                    {
                        CategoryId = category.Id,
                        Id         = typeId,
                        Order      = category.Types.Count > 0 ? category.Types.Count + 1 : 1,
                        Name       = name
                    });

                    RefreshCategoriesAndTypes();
                }
            }