Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
        }