Example #1
0
 private void btnSalvar_Click(object sender, EventArgs e)
 {
     this.Enabled = false;
     using (var db = new Contextos.ContextoGeral())
     {
         if (cadastro == null)
         {
             var categoria = new Entidades.Categoria();
             categoria.Nome = txtNome.Text;
             db.Categorias.Add(categoria);
             if (db.SaveChanges() > 0)
             {
                 CarregarTela();
                 CancelarCadastro();
             }
         }
         else
         {
             var categoria = db.Categorias.FirstOrDefault(x => x.CategoriaId == cadastro.CategoriaId);
             if (categoria != null)
             {
                 categoria.Nome = txtNome.Text;
                 db.SaveChanges();
                 CarregarTela();
                 CancelarCadastro();
             }
         }
     }
 }
 private void btnSalvar_Click(object sender, EventArgs e)
 {
     this.Enabled = false;
     using (var db = new Contextos.ContextoGeral())
     {
         if (cadastro == null)
         {
             var autor = new Entidades.Autor();
             autor.Nome = txtNome.Text;
             db.Autores.Add(autor);
             if (db.SaveChanges() > 0)
             {
                 CarregarTela();
                 CancelarCadastro();
             }
         }
         else
         {
             var autor = db.Autores.FirstOrDefault(x => x.AutorId == cadastro.AutorId);
             if (autor != null)
             {
                 autor.Nome = txtNome.Text;
                 db.SaveChanges();
                 CarregarTela();
                 CancelarCadastro();
             }
         }
     }
 }
 private void CarregarTela()
 {
     gridPrincipal.DataSource = null;
     using (var db = new Contextos.ContextoGeral())
     {
         gridPrincipal.DataSource = db.Autores.ToList();
     }
 }
 private void CarregarTela()
 {
     gridPrincipal.DataSource = null;
     using (var db = new Contextos.ContextoGeral())
     {
         gridPrincipal.DataSource = db.Livros.Include("Categoria").Include("Autores").ToList();
     }
 }
        private void RealizarCadastro()
        {
            this.Enabled                     = true;
            gridPrincipal.Height             = GridAlturaMenor;
            panelCadastro.Visible            = true;
            btnNovo.Enabled                  = false;
            btnSalvar.Enabled                = false;
            txtNome.Text                     = "";
            listboxAutores.DataSource        = null;
            cmbCategoria.DataSource          = null;
            cmbAutoresDisponiveis.DataSource = null;
            autores            = null;
            autoresDisponiveis = null;

            int[] idautores = { };
            if (cadastro != null)
            {
                idautores = cadastro.Autores.Select(a => a.AutorId).ToArray();
            }

            using (var db = new Contextos.ContextoGeral())
            {
                cmbCategoria.DataSource = db.Categorias.ToList();
                if (cadastro != null)
                {
                    autoresDisponiveis = db.Autores.Where(x => !idautores.Contains(x.AutorId)).ToList();
                }
                else
                {
                    autoresDisponiveis = db.Autores.ToList();
                }
            }

            cmbAutoresDisponiveis.DataSource = autoresDisponiveis;

            gridPrincipal.Enabled = false;

            if (cadastro != null)
            {
                txtNome.Text = cadastro.Nome;
                cmbCategoria.SelectedItem = (cmbCategoria.DataSource as List <Entidades.Categoria>).FirstOrDefault(x => x.CategoriaId == cadastro.Categoria.CategoriaId);
                autores = cadastro.Autores.ToList();
            }
            else
            {
                autores = new List <Entidades.Autor>();
            }

            listboxAutores.DataSource = autores;

            txtNome.Focus();
        }
 private void btnSalvar_Click(object sender, EventArgs e)
 {
     this.Enabled = false;
     using (var db = new Contextos.ContextoGeral())
     {
         if (cadastro == null)
         {
             var livro = new Entidades.Livro();
             livro.Nome = txtNome.Text;
             var categoria = cmbCategoria.SelectedItem as Entidades.Categoria;
             livro.Categoria = db.Categorias.FirstOrDefault(x => x.CategoriaId == categoria.CategoriaId);
             foreach (var autor in autores)
             {
                 livro.Autores.Add(db.Autores.FirstOrDefault(x => x.AutorId == autor.AutorId));
             }
             db.Livros.Add(livro);
             if (db.SaveChanges() > 0)
             {
                 CarregarTela();
                 CancelarCadastro();
             }
         }
         else
         {
             var livro = db.Livros.Include("Categoria").Include("Autores").FirstOrDefault(x => x.LivroId == cadastro.LivroId);
             if (livro != null)
             {
                 livro.Nome = txtNome.Text;
                 var categoria = cmbCategoria.SelectedItem as Entidades.Categoria;
                 livro.Categoria = db.Categorias.FirstOrDefault(x => x.CategoriaId == categoria.CategoriaId);
                 foreach (var autor in autores)
                 {
                     if (livro.Autores.Count(x => x.AutorId == autor.AutorId) <= 0)
                     {
                         livro.Autores.Add(db.Autores.FirstOrDefault(x => x.AutorId == autor.AutorId));
                     }
                 }
                 db.SaveChanges();
                 CarregarTela();
                 CancelarCadastro();
             }
         }
     }
 }
 private void listarAutoresToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (gridPrincipal.Rows.Count > 0 && gridPrincipal.CurrentRow != null)
     {
         var livro = gridPrincipal.CurrentRow.DataBoundItem as Entidades.Livro;
         if (cboxEagerLoadingAutores.Checked)
         {
             using (var db = new Contextos.ContextoGeral())
             {
                 var livrodb = db.Livros
                               .Include("Categoria")
                               .Include("Autores")
                               .FirstOrDefault(x => x.LivroId == livro.LivroId);
                 var texto = "";
                 foreach (var autor in livrodb.Autores)
                 {
                     texto += (texto.Length > 0?"\n":"") + autor.Nome;
                 }
                 MessageBox.Show(texto);
             }
         }
         else
         {
             using (var db = new Contextos.ContextoGeral())
             {
                 var livrodb = db.Livros
                               .FirstOrDefault(x => x.LivroId == livro.LivroId);
                 var texto = "";
                 foreach (var autor in livrodb.Autores)
                 {
                     texto += (texto.Length > 0 ? "\n" : "") + autor.Nome;
                 }
                 MessageBox.Show(texto);
             }
         }
     }
 }