public Batalha CriarNovaBatalha(AbstractFactoryExercito.Nacao Nacao) { //Obter usuário LOgado var usuarioLogado = Utils.Utils.ObterUsuarioLogado(ctx); //Verificar se existe uma batalha cujo exercito branco esteja definido //E exercito Preto esteja em branco var batalha = ctx.Batalhas .Include(x => x.ExercitoBranco.Usuario) .Where(b => b.ExercitoPreto == null && b.ExercitoBranco != null && b.ExercitoBranco.Usuario.Email != usuarioLogado.Email) .FirstOrDefault(); if (batalha == null) { batalha = new Batalha(); ctx.Batalhas.AddOrUpdate(batalha); ctx.SaveChanges(); } batalha.CriarBatalha(Nacao, usuarioLogado); ctx.Batalhas.AddOrUpdate(batalha); ctx.SaveChanges(); //Não iria conseguir os Ids Corretos; //ctx.SaveChangesAsync(); return(batalha); }
public Batalha CriarNovaBatalha(AbstractFactoryExercito.Nacao Nacao) { //Obter usuário LOgado var usuarioLogado = Utils.Utils.ObterUsuarioLogado(db); //Verificar se existe uma batalha cujo exercito branco esteja definido //E exercito Preto esteja em branco var batalha = db.Batalhas.Include(x => x.ExercitoBranco.Usuario) .Where(b => b.ExercitoPreto == null && b.ExercitoBranco != null && b.ExercitoBranco.Usuario.Email != usuarioLogado.Email) .FirstOrDefault(); if (batalha == null) { batalha = new Batalha(); db.Batalhas.AddOrUpdate(batalha); db.SaveChanges(); // batalha.CriarBatalha(Nacao, usuarioLogado); } // else // { batalha.CriarBatalha(Nacao, usuarioLogado); // var firebaseTabuleiro = new FirebaseTabuleiro(batalha.Tabuleiro); // firebase.Update(firebaseTabuleiro, firebaseTabuleiro.Id); // } db.Batalhas.AddOrUpdate(batalha); db.SaveChanges(); return(batalha); }
public void CriarBatalha(AbstractFactoryExercito.Nacao Nacao, Usuario usuarioLogado) { Exercito e; // Se não existir uma batalha cujo exercito preto seja vazio, criar uma nova batalha if (this.ExercitoBranco == null) { this.ExercitoBranco = new Exercito(); e = this.ExercitoBranco; } // Caso exista, colocar-se como desafiante. else { this.ExercitoPreto = new Exercito(); e = this.ExercitoPreto; } e.Nacao = Nacao; e.BatalhaId = this.Id; e.UsuarioId = usuarioLogado.Id; }