public JogadaModel ReturnPlayWinner(TorneioModel torneioModel)
        {
            if (torneioModel.ListaPartidas.Any(x => x.ListaJogadas.Count != 2))
            {
                return(null);
            }

            var jogadas = torneioModel.ListaPartidas.SelectMany(x => x.ListaJogadas);

            jogadas = jogadas.Where(x => !(x.Strategy.Equals("S") || x.Strategy.Contains("P") || x.Strategy.Contains("R")));

            if (jogadas.Count() > 0)
            {
                string returnString = "Partidas inválidas! Verifiquem as partidas: ";

                jogadas.ToList().ForEach(x =>
                                         returnString += string.Format("\n jogador {0}, partida {1}", x.NamePlayer, x.PartidaModel.Ordem)
                                         );
            }

            var torneio = Mapper.Map <Torneio>(torneioModel);

            var winner = RetornaVencedorTorneio(torneio);

            return(Mapper.Map <JogadaModel>(winner));
        }
        public ActionResult Create([Bind(Include = "Id,Nome,Qnt_Times")] TorneioModel torneioModel)
        {
            if (ModelState.IsValid)
            {
                var result = db.Times
                             .Select(m =>
                                     new
                {
                    Id     = m.Id,
                    Name   = m.Nome,
                    Escudo = m.EscudoUrl
                }).ToList();


                if (result.Count >= torneioModel.Qnt_Times)
                {
                    db.TorneioModels.Add(torneioModel);
                    db.SaveChanges();
                }
                else
                {
                }

                return(RedirectToAction("Index"));
            }

            return(View(torneioModel));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            TorneioModel torneioModel = db.TorneioModels.Find(id);

            db.TorneioModels.Remove(torneioModel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,Nome,Qnt_Times")] TorneioModel torneioModel)
 {
     if (ModelState.IsValid)
     {
         db.Entry(torneioModel).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(torneioModel));
 }
Exemplo n.º 5
0
        public ResponseModelDados <JogadaModel> RetornaVencedorTorneio(TorneioModel torneio)
        {
            var request = new RestRequest();

            var estrategias = new RestRequest("http://localhost:55737/api/RockPaperScissors/ReturnWinner");


            estrategias.Method = Method.POST;
            estrategias.AddHeader("Accept", "application/json");
            estrategias.AddJsonBody(torneio);

            return(teste.Executar <JogadaModel>(torneio, estrategias));
        }
        // GET: Torneio/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TorneioModel torneioModel = db.TorneioModels.Find(id);

            if (torneioModel == null)
            {
                return(HttpNotFound());
            }
            return(View(torneioModel));
        }
Exemplo n.º 7
0
        public JsonResult VerificaVencedor()
        {
            if (Session["listaPartidas"] != null)
            {
                listaPartidas = (List <PartidaModel>)Session["listaPartidas"];
            }


            var torneio = new TorneioModel();

            torneio.ListaPartidas = listaPartidas;

            var winner = rockPaperScissors.RetornaVencedorTorneio(torneio);

            string mensagem = string.Format("Parabéns {0} com sua jogada mestre {1}!", winner.Dados.NamePlayer, winner.Dados.NameStrategy);

            return(Json(JsonConvert.SerializeObject(mensagem)));
        }
Exemplo n.º 8
0
        public IHttpActionResult ReturnWinner(TorneioModel torneio)
        {
            var rockPaperScissorsBusiness = new RockPaperScissorsBusiness();

            return(Response(rockPaperScissorsBusiness.ReturnPlayWinner(torneio)));
        }