public EditarCategoria()
 {
     this.InitializeComponent();
     this.Loaded += EditarCategoria_Loaded;
     navigationHelper = new NavigationHelper(this);
     categoria = new Categoria();
 }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            navigationHelper.OnNavigatedTo(e);

            if (e.Parameter != null)
            {
                Int64 categoriaId = (Int64) e.Parameter;
                categoria = ger.BuscarCategorias().Where(m => m.Id == categoriaId).FirstOrDefault();
                tbNome.Text = categoria.Nome;
            }
        }
 public Categoria AtualizarCategoria(Categoria categoria)
 {
     db.Categorias.Update(categoria);
     db.SaveChanges();
     return categoria;
 }
 public Categoria AdicionarCategoria(Categoria categoria)
 {
     db.Categorias.Add(categoria);
     db.SaveChanges();
     return categoria;
 }
        private void btApagar_Click(object sender, RoutedEventArgs e)
        {
            Categoria categoriaDb = ger.BuscarCategorias().Where(m => m.Id == categoria.Id).Include(m => m.Livros).FirstOrDefault();
            if(categoriaDb.Livros != null && categoriaDb.Livros.Count > 0)
            {
                foreach (Livro livro in categoriaDb.Livros.ToList())
                {
                    Categoria categoriaNaoClassificados = ger.BuscarCategorias().Where(m => m.Nome == "Não classificados").FirstOrDefault();
                    if (categoriaNaoClassificados == null)
                    {
                        categoriaNaoClassificados = new Categoria();
                        categoriaNaoClassificados.Nome = "Não classificados";
                        ger.AdicionarCategoria(categoriaNaoClassificados);
                    }

                    categoriaNaoClassificados.Livros.Add(livro);
                    ger.AtualizarCategoria(categoriaNaoClassificados);
                }
            }
            

            if(categoriaDb.Livros.Count == 0)
            {
                ger.RemoverCategoria(categoriaDb.Id);
            }

            if (this.Frame.CanGoBack)
            {
                //this.Frame.GoBack();
                App.NavigationService.GoBack();
            }
        }