public async Task <IActionResult> Put(int BatalhaId, Batalha model)
        {
            try
            {
                var batalha = await _context.GetBatalhaAsync(BatalhaId, false);

                if (batalha == null)
                {
                    return(NotFound());
                }

                _context.Update(model);

                if (await _context.SaveChangesAsync())
                {
                    return(Created($"/api/batalha/{model.Id}", model));
                }
            }
            catch (System.Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Banco de dados Falhou!" + ex.Message));
            }

            return(BadRequest());
        }
Exemple #2
0
        public ActionResult Tabuleiro(int batalhaId)
        {
            Batalha batalha = BatalhasDAO.buscarBatalhaPorID(batalhaId);

            ViewBag.Id = batalha.Id;
            return(View(batalha));
        }
Exemple #3
0
        public async Task <IActionResult> PutBatalha([FromRoute] int id, [FromBody] Batalha batalha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != batalha.Id)
            {
                return(BadRequest());
            }

            _context.Entry(batalha).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BatalhaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #4
0
        public async Task <IActionResult> PutBatalha([FromRoute] int id, [FromBody] Batalha batalha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != batalha.Id)
            {
                return(BadRequest());
            }

            BancoDAO.AlterarBatalha(batalha);


            try
            {
                await BancoDAO.AlterarDadosAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (BancoDAO.BuscarBatalha(id) == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public ActionResult PutBatalha(int id, Batalha batalha)
        {
            try
            {
                //var heroi = new Heroi
                //{
                //    Id = id,
                //    Nome = "Iron Man",
                //    Armas = new List<Arma>
                //    {
                //        new Arma { Id = 0, Nome = "Mark III" },
                //        new Arma { Id = 1, Nome = "Mark V" }
                //    }
                //};

                if (_context.Batalhas.AsNoTracking().FirstOrDefault(h => h.Id == id) != null)
                {
                    _context.Update(batalha);
                    _context.SaveChanges();

                    return(Ok("Bazinga"));
                }

                return(Ok("Nao Encontrado!"));
            }
            catch (Exception ex)
            {
                return(BadRequest($"Erro: {ex}"));
            }
        }
Exemple #6
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);
        }
Exemple #7
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);
        }
Exemple #8
0
        public async Task <IActionResult> CriarBatalha()
        {
            var usuario = _usuarioService.ObterUsuarioEmail(this.User);

            var batalha = _context.Batalhas.Include(b => b.ExercitoBranco)
                          .Include(b => b.ExercitoPreto)
                          .FirstOrDefault(b =>
                                          (b.ExercitoBrancoId == null ||
                                           b.ExercitoPretoId == null) &&
                                          (b.ExercitoBranco.UsuarioId != usuario.Id &&
                                           b.ExercitoPreto.UsuarioId != usuario.Id));



            if (batalha == null)
            {
                batalha = new Batalha();
                _context.Add(batalha);
            }
            Exercito e = new Exercito();

            e.Usuario = usuario;
            e.Nacao   = Nacao.Egito;
            if (batalha.ExercitoBrancoId == null)
            {
                batalha.ExercitoBranco = e;
            }
            else
            {
                batalha.ExercitoPreto = e;
            }
            _context.SaveChanges();
            return(Ok(batalha));
        }
        public ActionResult Lobby(int batalhaId)
        {
            Batalha batalha = BancoDAO.BuscarBatalhaPorID(batalhaId);

            ViewBag.Id = batalha.Id;
            return(View(batalha));
        }
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] Batalha input)
        {
            try
            {
                var batalha = await _repo.GetBatalhaById(id);

                if (batalha != null)
                {
                    _repo.Update(input);
                    if (await _repo.SaveChangeAsync())
                    {
                        return(Ok("Bazinga"));
                    }
                }
                else
                {
                    return(NoContent());
                }
            }
            catch (Exception ex)
            {
                return(BadRequest($"Erro: {ex}"));
            }

            return(BadRequest("Não Alterado"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Batalha batalha = db.Batalhas.Find(id);

            db.Batalhas.Remove(batalha);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task <Batalha> SalvarMovimentoBatalha(Batalha batalha)
        {
            batalha.Turno   = null;
            batalha.TurnoId = batalha.TurnoId == batalha.ExercitoBrancoId ?
                              batalha.ExercitoPretoId : batalha.ExercitoBrancoId;
            await _context.SaveChangesAsync();

            return(batalha);
        }
        public ActionResult Tabuleiro(int BatalhaId = -1)
        {
            ViewBag.Title = "Tabuleiro";
            Batalha batalha = HomeDAO.retornarBatalha(BatalhaId);

            if (batalha != null)
            {
                return(View(batalha));
            }
            return(View());
        }
Exemple #14
0
        public async Task <IActionResult> PostBatalha([FromBody] Batalha batalha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _batalhasDAL.SalvarBatalha(batalha);

            return(CreatedAtAction("GetBatalha", new { id = batalha.Id }, batalha));
        }
        public async Task <Batalha> DeletarBatalha(Batalha batalha)
        {
            if (batalha == null)
            {
                return(null);
            }

            _context.Batalhas.Remove(batalha);
            await _context.SaveChangesAsync();

            return(null);
        }
Exemple #16
0
        private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            Batalha batalha = new Batalha();

            passo          = batalha.batalha(n1, n2);
            passoAndamento = passo.Split('\n');
            CtrlBatalha.imprimir(listResultado, passoAndamento);
            resultado      = batalha.getResultado();
            resultadoFinal = resultado.Split('\n');
            CtrlBatalha.imprimirResultadoFinal(lblResultadoFinal, btnSalvar, listFinal, resultadoFinal);
        }
Exemple #17
0
        public async Task <IActionResult> PostBatalha([FromBody] Batalha batalha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            BancoDAO.AdicionarBatalha(batalha);
            await BancoDAO.AlterarDadosAsync();

            return(CreatedAtAction("GetBatalha", new { id = batalha.Id }, batalha));
        }
Exemple #18
0
        public async Task <IActionResult> PostBatalha([FromBody] Batalha batalha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Batalhas.Add(batalha);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBatalha", new { id = batalha.Id }, batalha));
        }
Exemple #19
0
      // GET: Relatorios
      public ActionResult ResultadoGeral(int id)
      {
          Relatorios daRelatorios = new Relatorios();
          Batalha    daBatalha    = new Batalha();

          ResultadoGeralModels retorno = new ResultadoGeralModels();

          retorno.Batalha = daBatalha.ObterBatalha(id);
          retorno.Item    = daRelatorios.ListarResultadoGeral(id);

          retorno.Item = retorno.Item.OrderBy(x => x.Player.Nome).ToList();
          return(View(retorno));
      }
Exemple #20
0
      public ActionResult ListaBatalhas()
      {
          int idGuilda = 0;

          int.TryParse(User.Identity.GetIdGuilda(), out idGuilda);

          Batalha daBatalha = new Batalha();
          List <BatalhaModels> lstBatalhas = new List <BatalhaModels>();

          lstBatalhas = daBatalha.ListarBatalhas(idGuilda, false);
          lstBatalhas = lstBatalhas.OrderByDescending(x => x.Data).ToList();
          return(View(lstBatalhas));
      }
Exemple #21
0
        public Batalha Jogar(Movimento movimento)
        {
            movimento.Elemento = db.ElementosDoExercitos.Find(movimento.ElementoId);

            if (movimento.Elemento == null)
            {
                ErroResponse(HttpStatusCode.BadRequest, "O Elemento não existe.",
                             "O elemento informado para movimento não existe.");
            }

            movimento.Batalha = db.Batalhas.Find(movimento.BatalhaId);
            var usuario = Utils.Utils.ObterUsuarioLogado(db);

            if (usuario.Id != movimento.AutorId)
            {
                ErroResponse(HttpStatusCode.Forbidden, "O usuário tentou executar uma ação como se fosse outro usuário.",
                             "Você não tem permissão para executar esta ação.");
            }

            Batalha batalha = Get(movimento.BatalhaId);

            if (movimento.AutorId != movimento.Elemento.Exercito.UsuarioId)
            {
                ErroResponse(HttpStatusCode.Forbidden, "A peça não pertence ao usuário.",
                             "Não foi possível executar o movimento.");
            }

            if (movimento.AutorId != batalha.Turno.UsuarioId)
            {
                ErroResponse(HttpStatusCode.Forbidden, "O turno atual é do adversário.",
                             "Você não tem permissão para executar esta ação.");
            }

            if (!batalha.JogarMovimento(movimento))
            {
                ErroResponse(HttpStatusCode.BadRequest, "Não foi possível executar o movimento.",
                             "Não foi possível executar o movimento.");
            }

            batalha.Turno   = null;
            batalha.TurnoId = batalha.TurnoId == batalha.ExercitoBrancoId ?
                              batalha.ExercitoPretoId : batalha.ExercitoBrancoId;

            db.SaveChanges();

            var firebaseTabuleiro = new FirebaseTabuleiro(batalha.Tabuleiro, batalha.TurnoId);

            firebase.Update(firebaseTabuleiro, firebaseTabuleiro.Id);

            return(batalha);
        }
Exemple #22
0
        public async Task <IActionResult> CriarBatalha(int idNacao)
        //public async Task<IActionResult> CriarBatalha()
        {
            Usuario usuario = _usuarioService.ObterUsuarioEmail(this.User);

            Batalha batalha = BancoDAO.BuscarBatalhaPendente(usuario);

            if (batalha == null)
            {
                batalha = new Batalha();
                BancoDAO.AdicionarBatalha(batalha);
            }

            Exercito e = new Exercito();

            e.Usuario = usuario;

            switch (idNacao)
            {
            case 1:
                e.Nacao = Nacao.India;
                break;

            case 2:
                e.Nacao = Nacao.Persia;
                break;

            case 3:
                e.Nacao = Nacao.Egito;
                break;

            case 4:
                e.Nacao = Nacao.Japones;
                break;

            default:
                break;
            }


            if (batalha.ExercitoBrancoId == null)
            {
                batalha.ExercitoBranco = e;
            }
            else if (batalha.ExercitoPretoId == null)
            {
                batalha.ExercitoPreto = e;
            }
            BancoDAO.AlterarDados();
            return(Ok(batalha));
        }
        public ActionResult PostBatalha(Batalha batalha)
        {
            try
            {
                _context.Batalhas.Add(batalha);
                _context.SaveChanges();

                return(Ok("Saved"));
            }
            catch (Exception ex)
            {
                return(BadRequest($"Erro: {ex}"));
            }
        }
        public async Task <IActionResult> CriarBatalha(int nacao)
        {
            var usuario = _usuarioService.ObterUsuarioEmail(this.User);

            var batalha = _context.Batalhas.Include(b => b.ExercitoBranco)
                          .Include(b => b.ExercitoPreto)
                          .FirstOrDefault(b =>
                                          (b.ExercitoBrancoId == null ||
                                           b.ExercitoPretoId == null) &&
                                          (b.ExercitoBranco.UsuarioId != usuario.Id &&
                                           b.ExercitoPreto.UsuarioId != usuario.Id));



            if (batalha == null)
            {
                batalha = new Batalha();
                _context.Add(batalha);
            }
            Exercito e = new Exercito();

            e.Usuario = usuario;
            if (nacao == 0)
            {
                return(BadRequest("Selecione uma nação antes de criar a partida"));
            }
            else if (nacao == 1)
            {
                e.Nacao = Nacao.India;
            }
            else if (nacao == 2)
            {
                e.Nacao = Nacao.Persia;
            }
            else if (nacao == 3)
            {
                e.Nacao = Nacao.Egito;
            }

            if (batalha.ExercitoBrancoId == null)
            {
                batalha.ExercitoBranco = e;
            }
            else
            {
                batalha.ExercitoPreto = e;
            }
            _context.SaveChanges();
            return(Ok(batalha));
        }
        // GET: BatalhasMVC/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Batalha batalha = db.Batalhas.Find(id);

            if (batalha == null)
            {
                return(HttpNotFound());
            }
            return(View(batalha));
        }
        public ActionResult Post(Batalha model)
        {
            try
            {
                _context.Batalhas.Add(model);
                _context.SaveChanges();

                return(Ok("BAZINGA"));
            }
            catch (Exception ex)
            {
                return(BadRequest($"Erro: {ex}"));
            }
        }
Exemple #27
0
        public async Task <IActionResult> Post(Batalha model)
        {
            try {
                _repo.Add(model);

                if (await _repo.SaveChangeAsyc())
                {
                    return(Ok("BAZINGA"));
                }
            } catch (Exception e) {
                return(BadRequest($"Error: {e}"));
            }

            return(BadRequest("Não salvou"));
        }
Exemple #28
0
        public async Task <IActionResult> PutBatalha([FromRoute] int id, [FromBody] Batalha batalha)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != batalha.Id)
            {
                return(BadRequest());
            }
            await _batalhasDAL.EditarBatalha(id, batalha);

            return(NoContent());
        }
Exemple #29
0
        public ActionResult Tabuleiro(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
            Batalha batalha = db.Batalhas.Find(id);

            if (batalha == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Id = batalha.Id;
            return(View(batalha));
        }
 public ActionResult Edit([Bind(Include = "Id,TabuleiroId,ExercitoBrancoId,ExercitoPretoId,VencedorId,TurnoId,Estado")] Batalha batalha)
 {
     if (ModelState.IsValid)
     {
         db.Entry(batalha).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ExercitoBrancoId = new SelectList(db.Exercitos, "Id", "Id", batalha.ExercitoBrancoId);
     ViewBag.ExercitoPretoId  = new SelectList(db.Exercitos, "Id", "Id", batalha.ExercitoPretoId);
     ViewBag.TabuleiroId      = new SelectList(db.Tabuleiros, "Id", "Id", batalha.TabuleiroId);
     ViewBag.TurnoId          = new SelectList(db.Exercitos, "Id", "Id", batalha.TurnoId);
     ViewBag.VencedorId       = new SelectList(db.Exercitos, "Id", "Id", batalha.VencedorId);
     return(View(batalha));
 }