public void Atualizar(Cavaleiro cavaleiro)
        {
            /*
             * Para fazermos uma conexão com o banco via EF, precisamos
             * instanciar um objeto do mesmo tipo de nosso DbContext, que no nosso
             * caso é o ContextoDeDados.
             */
            using (var db = new ContextoDeDados())
            {
                // Atualizamos o estado de todos os objetos envolvidos em relacionamentos com Cavaleiro.
                // Caso Id seja diferente de 0, é atualizado. Caso seja 0, é inserido.
                db.Entry <Local>(cavaleiro.LocalNascimento).State  = cavaleiro.LocalNascimento.Id == default(int) ? EntityState.Added : EntityState.Modified;
                db.Entry <Local>(cavaleiro.LocalTreinamento).State = cavaleiro.LocalTreinamento.Id == default(int) ? EntityState.Added : EntityState.Modified;

                foreach (var golpe in cavaleiro.Golpes)
                {
                    db.Entry <Golpe>(golpe).State = golpe.Id == default(int) ? EntityState.Added : EntityState.Modified;
                }

                foreach (var imagem in cavaleiro.Imagens)
                {
                    db.Entry <Imagem>(imagem).State = imagem.Id == default(int) ? EntityState.Added : EntityState.Modified;
                }

                db.Entry <Cavaleiro>(cavaleiro).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
Example #2
0
 public void CriarUsuario(Usuario usuario)
 {
     using (var db = new ContextoDeDados())
     {
         db.Entry <Usuario>(usuario).State = System.Data.Entity.EntityState.Added;
         db.SaveChanges();
     }
 }
Example #3
0
 public int Adicionar(Cavaleiro cavaleiro)
 {
     using (var db = new ContextoDeDados())
     {
         /*
          * Para informarmos um INSERT, devemos setar o State como Added.
          */
         db.Entry <Cavaleiro>(cavaleiro).State = EntityState.Added;
         db.SaveChanges();
         return(cavaleiro.Id);
     }
 }
Example #4
0
 public void Excluir(int id)
 {
     using (var db = new ContextoDeDados())
     {
         /*
          * Para realizar um DELETE no banco de dados,
          * infelizmente precisamos buscar o objeto no banco para então
          * removê-lo.
          */
         Cavaleiro cavaleiroASerExcluido = db.Cavaleiro.Find(id);
         db.Entry <Cavaleiro>(cavaleiroASerExcluido).State = EntityState.Deleted;
         db.SaveChanges();
     }
 }
 public void Excluir(int id)
 {
     using (var db = new ContextoDeDados())
     {
         /*
          * Para realizar um DELETE no banco de dados,
          * infelizmente precisamos buscar o objeto no banco para então
          * removê-lo.
          */
         var cavaleiroASerExcluido = db.Cavaleiro.Find(id);
         var localNascimento       = db.Cavaleiro.Include(_ => _.LocalNascimento).Single(_ => _.Id == id).LocalNascimento;
         var localTreinamento      = db.Cavaleiro.Include(_ => _.LocalTreinamento).Single(_ => _.Id == id).LocalTreinamento;
         // devido à FK partindo de cavaleiro para local primeiro removemos cavaleiro
         db.Cavaleiro.Remove(cavaleiroASerExcluido);
         db.Local.Remove(localNascimento);
         db.Local.Remove(localTreinamento);
         db.SaveChanges();
     }
 }
Example #6
0
 public void Atualizar(Cavaleiro pedido)
 {
     /*
      * Para fazermos uma conexão com o banco via EF, precisamos
      * instanciar um objeto do mesmo tipo de nosso DbContext, que no nosso
      * caso é o ContextoDeDados.
      */
     using (var db = new ContextoDeDados())
     {
         /*
          * Existem várias formas de fazer um Update de uma entidade.
          * Um deles é utilizando o método Entry, na qual você informa o tipo
          * de objeto que será feito o update (<Pedido>), passa o objeto
          * como parâmetro em seguida seta o stado deste objeto no banco de dados.
          * O EF irá saber que deve fazer um Update quando o estado for EntityState.Modified.
          *
          * Em seguida chamaremos o método .SaveChanges(), que irá definitivamente
          * executar a query no banco de dados.
          */
         db.Entry <Cavaleiro>(pedido).State = EntityState.Modified;
         db.SaveChanges();
     }
 }