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(); } }
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); } }
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(); } }
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(); }
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); }
/// <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 }); }
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(); } }
public ActionResult Detalhe(int id) { return(PartialView("Detalhe", Cavaleiro.Obter(id))); }