Beispiel #1
0
        public ActionResult LiberarResultados()
        {
            IEVENTORepository eventoRepository = new EVENTORepository();
            EVENTO            oEvento          = eventoRepository.Find(int.Parse(Request.Params["numeroevento"].ToString()));

            oEvento.RESULTADODISPONIVEL = true;
            eventoRepository.InsertOrUpdate(oEvento);
            eventoRepository.Save();
            TempData["message"] = "Resultados Liberados!";
            return(RedirectToAction("SelecionaEvento"));
        }
Beispiel #2
0
        public ActionResult GerarResultados()
        {
            int pontosacertovencedor = 10;
            int pontoacertoround     = 5;
            int pontoacertomodo      = 6;

            IEVENTORepository eventoRepository = new EVENTORepository();
            EVENTO            oEvento          = eventoRepository.Find(int.Parse(Request.Params["numeroevento"].ToString()));

            Dictionary <int, int>    resultadolutavencedor = new Dictionary <int, int>();
            Dictionary <int, int>    resultadolutaround    = new Dictionary <int, int>();
            Dictionary <int, string> resultadolutamodo     = new Dictionary <int, string>();

            IEnumerable <APOSTA> oApostas = apostaRepository.All.Where(x => x.LUTA.IDEVENTO == oEvento.ID && x.RESULTADO == true);

            foreach (APOSTA resultado in oApostas)
            {
                resultadolutavencedor.Add(resultado.LUTA.ID, resultado.LUTADORVENCEDOR);
                resultadolutaround.Add(resultado.LUTA.ID, resultado.ROUND);
                resultadolutamodo.Add(resultado.LUTA.ID, resultado.MODO);
            }


            IRESULTADORepository resultadoRepository = new RESULTADORepository();

            foreach (RESULTADO result in resultadoRepository.All.Where(x => x.IDEVENTO == oEvento.ID))
            {
                resultadoRepository.Delete(result.ID);
            }
            resultadoRepository.Save();
            IEnumerable <COMPROVANTE> oComprovantes = (from a in apostaRepository.All.Where(x => x.LUTA.IDEVENTO == oEvento.ID && x.RESULTADO == false) select a.COMPROVANTE).Distinct();

            foreach (COMPROVANTE comprovante in oComprovantes)
            {
                RESULTADO oResultado = new RESULTADO();
                oResultado.IDCOMPROVANTE = comprovante.ID;
                oResultado.DATAAPOSTA    = comprovante.DATA;
                oResultado.NOME          = comprovante.Usuario.Nome;
                oResultado.IDEVENTO      = oEvento.ID;
                int pontuacao = 0;
                foreach (APOSTA aposta in comprovante.APOSTA)
                {
                    int pontosaposta    = 0;
                    int lutadorvencedor = resultadolutavencedor[aposta.LUTA.ID];
                    int roundfinal      = resultadolutaround[aposta.LUTA.ID];
                    if (lutadorvencedor == aposta.LUTADORVENCEDOR)
                    {
                        pontosaposta += pontosacertovencedor;
                        if (roundfinal == aposta.ROUND)
                        {
                            pontosaposta += pontoacertoround;
                        }
                        if (resultadolutamodo[aposta.LUTA.ID] == aposta.MODO)
                        {
                            pontosaposta += pontoacertomodo;
                        }
                    }
                    aposta.PONTOS = short.Parse(pontosaposta.ToString());
                    pontuacao    += pontosaposta;
                }
                oResultado.PONTUACAO = pontuacao;
                resultadoRepository.InsertOrUpdate(oResultado);
                resultadoRepository.Save();
            }
            apostaRepository.Save();
            TempData["message"] = "Pontuação calculada com sucesso!";
            return(RedirectToAction("SelecionaEvento"));
        }
Beispiel #3
0
        public ActionResult Create(APOSTA aposta)
        {
            try
            {
                IEVENTORepository eventoRepository = new EVENTORepository();
                EVENTO            oEvento          = eventoRepository.Find(int.Parse(Request.Params["numeroevento"].ToString()));
                Usuario           oUsuario         = usuarioRepository.All.Where(x => x.Login == HttpContext.User.Identity.Name).First();
                int  idcomprovante = 0;
                bool resultado     = false;
                if (User.IsInRole("admin"))
                {
                    if (int.Parse(Request.Params["resultado"].ToString()) == 1)
                    {
                        resultado = true;
                        IEnumerable <APOSTA> oApostas = apostaRepository.All.Where(x => x.LUTA.IDEVENTO == oEvento.ID && x.RESULTADO == true);
                        foreach (APOSTA apostar in oApostas)
                        {
                            apostaRepository.Delete(apostar.ID);
                        }
                    }
                }
                //if ((oUsuario.SALDO < oEvento.VALOR) && !resultado)
                //{
                //    TempData["message"] = "Aposta não realizada, saldo insuficiente!";
                //    return RedirectToAction("SelecionaEvento");
                //}
                //else
                //{
                ICOMPROVANTERepository comprovanteRepository = new COMPROVANTERepository();
                COMPROVANTE            oComprovante          = new COMPROVANTE();
                oComprovante.DATA      = DateTime.Now;
                oComprovante.IDUSUARIO = oUsuario.Id;
                oComprovante.TIPO      = "A";
                oComprovante.VALOR     = oEvento.VALOR;
                comprovanteRepository.InsertOrUpdate(oComprovante);
                comprovanteRepository.Save();
                idcomprovante = oComprovante.ID;
                //if (!resultado)
                //{
                //    oUsuario.SALDO = oUsuario.SALDO - oEvento.VALOR;
                //    usuarioRepository.InsertOrUpdate(oUsuario);
                //    usuarioRepository.Save();
                //}
                //}
                IEnumerable <LUTA> oLutas = oEvento.LUTA;
                foreach (LUTA luta in oLutas)
                {
                    APOSTA oAposta = new APOSTA();
                    oAposta.IDLUTA          = luta.ID;
                    oAposta.IDUSUARIO       = oUsuario.Id;
                    oAposta.LUTADORVENCEDOR = short.Parse(Request.Form[luta.ID.ToString()]);
                    oAposta.ROUND           = short.Parse(Request.Form["ROUND" + luta.ID.ToString()]);
                    oAposta.MODO            = Request.Form["MODO" + luta.ID.ToString()];
                    oAposta.IDCOMPROVANTE   = idcomprovante;
                    oAposta.RESULTADO       = resultado;
                    apostaRepository.InsertOrUpdate(oAposta);
                    apostaRepository.Save();
                }
                TempData["message"] = "Aposta realizada com sucesso!";
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(RedirectToAction("SelecionaEvento"));
        }