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();
            }
        }
Esempio n. 2
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);
     }
 }
Esempio n. 3
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();
     }
 }
Esempio n. 4
0
        static void Main(string[] args)
        {
            var cavaleiro = new Cavaleiro("Aragorn", 100);
            var arqueiro  = new Arqueiro("Legolas", 100);
            var mago      = new Mago("Gandalf", 100);

            cavaleiro.Atacar();
            cavaleiro.Defender();

            arqueiro.Atacar();
            arqueiro.Defender();

            mago.Atacar();
            mago.Defender();
        }
Esempio n. 5
0
        public Jogo()
        {
            Sala inicial = new Sala("Você está em uma sala muito empoeirada com algumas caveiras no canto...");
            Sala salao   = new Sala("Você está no salão principal do castelo.");
            Sala torre   = new Sala("Você achou a torre!!!");

            inicial.SetSala(Sala.LESTE, salao);
            salao.SetSala(Sala.LESTE, torre);

            cavaleiro = new Cavaleiro();
            cavaleiro.Entrar(inicial);

            princesa = new Princesa();
            princesa.Entrar(torre);
        }
Esempio n. 6
0
 /// <summary>
 /// Este método visa fazer o mapeamento dos objetos que estão no banco para aqueles que são enviados ou recebidos pelos AJAX.
 /// Colocamos este método de extensão aqui para não "corromper" a "camada" (sic) do domínio.
 /// </summary>
 public static CavaleiroViewModel FromModel(this Cavaleiro cavaleiro)
 {
     return(new CavaleiroViewModel
     {
         Id = cavaleiro.Id,
         Nome = cavaleiro.Nome,
         AlturaCm = cavaleiro.AlturaCm,
         DataNascimentoObj = cavaleiro.DataNascimento,
         Golpes = cavaleiro.Golpes.FromModel(),
         Imagens = cavaleiro.Imagens.FromModel(),
         LocalNascimento = cavaleiro.LocalNascimento != null?cavaleiro.LocalNascimento.FromModel() : null,
                               LocalTreinamento = cavaleiro.LocalTreinamento != null?cavaleiro.LocalTreinamento.FromModel() : null,
                                                      PesoLb = cavaleiro.PesoLb,
                                                      Signo = cavaleiro.Signo,
                                                      TipoSanguineo = cavaleiro.TipoSanguineo
     });
 }
Esempio n. 7
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();
     }
 }
Esempio n. 8
0
 public ActionResult Detalhe(int id)
 {
     return(PartialView("Detalhe", Cavaleiro.Obter(id)));
 }