private void ReadCategories()
 {
     CategoryReader reader = new CategoryReader();
     List<CategoryViewModel> categoryVMs = new List<CategoryViewModel>();
     List<Category> categories = reader.ReadCategories();
     foreach (Category category in categories)
     {
         CategoryViewModel model = new CategoryViewModel() { Category = category };
         categoryVMs.Add(model);
     }
     Categories = new ObservableCollection<CategoryViewModel>(categoryVMs);
     CurrentCategory = Categories.FirstOrDefault();
 }
        private void AddCategory(object param)
        {
            if (Categories == null)
            {
                Categories = new ObservableCollection<CategoryViewModel>();
            }
            else if (Categories.Any(cvm => cvm.Category.Name == param as String))
            {
                return;
            }

            Category category = new Category() { Name = param as String };
            CategoryViewModel vm = new CategoryViewModel() { Category = category };
            Categories.Add(vm);
            CurrentCategory = vm;
        }