Exemplo n.º 1
0
        public ActionResult EditSumula([Bind(Include = "IDSumula,IDPartidaCampeonato,sObservacao,dDataCadastro")] Sumula sumula, int?iQntGols1, int?iQntGols2)
        {
            if (ModelState.IsValid)
            {
                if (iQntGols1 < 0 || iQntGols2 < 0)
                {
                    return(RedirectToAction("Create/" + sumula.IDSumula).ComMensagem("Quantidade de gols não pode ser menor que 0.", "alert-warning"));
                }

                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        PartidaCampeonato partidaCampeonato = db.PartidaCampeonato.Find(sumula.IDPartidaCampeonato);
                        if (partidaCampeonato == null)
                        {
                            return(HttpNotFound());
                        }


                        partidaCampeonato.iQntGols1 = iQntGols1;
                        partidaCampeonato.iQntGols2 = iQntGols2;

                        db.Entry(partidaCampeonato).State = EntityState.Modified;
                        db.Entry(partidaCampeonato).Property("dDataPartida").IsModified  = false;
                        db.Entry(partidaCampeonato).Property("iRodada").IsModified       = false;
                        db.Entry(partidaCampeonato).Property("IDInscrito1").IsModified   = false;
                        db.Entry(partidaCampeonato).Property("IDInscrito2").IsModified   = false;
                        db.Entry(partidaCampeonato).Property("sHoraPartida").IsModified  = false;
                        db.Entry(partidaCampeonato).Property("dDataCadastro").IsModified = false;

                        db.SaveChanges();

                        db.Entry(sumula).State = EntityState.Modified;
                        db.Entry(sumula).Property("dDataCadastro").IsModified = false;
                        db.SaveChanges();

                        transaction.Commit();

                        return(RedirectToAction("Index").ComMensagem("Operação realizada com sucesso.", "alert-success"));
                    }
                    catch (DbEntityValidationException e)
                    {
                        foreach (var eve in e.EntityValidationErrors)
                        {
                            Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                              eve.Entry.Entity.GetType().Name, eve.Entry.State);
                            foreach (var ve in eve.ValidationErrors)
                            {
                                Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                  ve.PropertyName, ve.ErrorMessage);
                            }
                        }
                        return(RedirectToAction("Create/" + sumula.IDSumula).ComMensagem("Erro ao realizar a operação.", "alert-danger"));
                    }
                }
            }

            return(View("Index"));
        }
Exemplo n.º 2
0
        public ActionResult Edit([Bind(Include = "IDPartidaCampeonato,IDInscrito1,IDInscrito2,iQntGols1,iQntGols2,dDataPartida,sHoraPartida,iRodada,dDataCadastro")] PartidaCampeonato partidaCampeonato)
        {
            if (ModelState.IsValid)
            {
                db.Entry(partidaCampeonato).State = EntityState.Modified;
                db.Entry(partidaCampeonato).Property("dDataCadastro").IsModified = false;
                db.Entry(partidaCampeonato).Property("IDInscrito1").IsModified   = false;
                db.Entry(partidaCampeonato).Property("IDInscrito2").IsModified   = false;
                db.SaveChanges();
                return(RedirectToAction("Index").ComMensagem("Operação realizada com sucesso.", "alert-success"));
            }

            ViewBag.IDInscrito1 = new SelectList(db.Inscrito.Select(x => new SelectListItem
            {
                Text  = x.PreInscrito.Time.sNome.ToUpper(),
                Value = x.IDInscrito.ToString()
            }).ToList().OrderBy(p => p.Text), "Value", "Text", partidaCampeonato.IDInscrito1);

            ViewBag.IDInscrito2 = new SelectList(db.Inscrito.Select(x => new SelectListItem
            {
                Text  = x.PreInscrito.Time.sNome.ToUpper(),
                Value = x.IDInscrito.ToString()
            }).ToList().OrderBy(p => p.Text), "Value", "Text", partidaCampeonato.IDInscrito2);


            return(View(partidaCampeonato));
        }
Exemplo n.º 3
0
        // GET: PartidaCampeonato/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PartidaCampeonato partidaCampeonato = db.PartidaCampeonato.Find(id);

            if (partidaCampeonato == null)
            {
                return(HttpNotFound());
            }

            ViewBag.IDInscrito1 = new SelectList(db.Inscrito.Select(x => new SelectListItem
            {
                Text  = x.PreInscrito.Time.sNome.ToUpper(),
                Value = x.IDInscrito.ToString()
            }), "Value", "Text", partidaCampeonato.IDInscrito1);

            ViewBag.IDInscrito2 = new SelectList(db.Inscrito.Select(x => new SelectListItem
            {
                Text  = x.PreInscrito.Time.sNome.ToUpper(),
                Value = x.IDInscrito.ToString()
            }), "Value", "Text", partidaCampeonato.IDInscrito2);

            return(View(partidaCampeonato));
        }
Exemplo n.º 4
0
        public ActionResult Index(int IDTime, int IDPartida, int iTipoPartida)
        {
            List <GolAmistoso> jogadorGol = new List <GolAmistoso>();

            if (iTipoPartida == 0)
            {
                PartidaAmistosa partidaAmistosa = db.PartidaAmistosa.Find(IDPartida);
                ViewBag.Partida = "Partida Amistosa - " + partidaAmistosa.Time.sNome.ToUpper() + " " + partidaAmistosa.iQntGols1 + " X " + partidaAmistosa.iQntGols2 + " " + partidaAmistosa.Time1.sNome.ToUpper();

                jogadorGol = (from j in db.Jogador.Where(p => p.IDTime == IDTime && p.bAtivo == true)
                              join g in db.GolAmistoso.Where(p => p.IDPartida == IDPartida)
                              on j.IDJogador equals g.IDJogador into jg
                              from g in jg.DefaultIfEmpty()
                              select new
                {
                    IDJogador = j.IDJogador,
                    Jogador = j,
                    IDGol = (int?)g.IDGol ?? 0,
                    iQuantidade = (int?)g.iQuantidade ?? 0
                }).OrderBy(p => p.Jogador.Pessoa.sNome).ToList()
                             .Select(x => new GolAmistoso()
                {
                    IDGol       = x.IDGol,
                    IDJogador   = x.IDJogador,
                    iQuantidade = x.iQuantidade,
                    Jogador     = x.Jogador
                }).ToList();
            }
            else
            {
                PartidaCampeonato partidaCampeonato = db.PartidaCampeonato.Find(IDPartida);
                ViewBag.Partida = "Campeonato - " + partidaCampeonato.Inscrito.PreInscrito.Campeonato.sNome + " : " + partidaCampeonato.Inscrito.PreInscrito.Time.sNome.ToUpper() + " " + partidaCampeonato.iQntGols1 + " X " + partidaCampeonato.iQntGols2 + " " + partidaCampeonato.Inscrito1.PreInscrito.Time.sNome.ToUpper();

                jogadorGol = (from j in db.Jogador.Where(p => p.IDTime == IDTime && p.bAtivo == true)
                              join g in db.Gol.Where(p => p.JogadorSumula.Sumula.IDPartidaCampeonato == IDPartida)
                              on j.IDJogador equals g.JogadorSumula.JogadorInscrito.IDJogador into jg
                              from g in jg.DefaultIfEmpty()
                              select new
                {
                    IDJogador = j.IDJogador,
                    Jogador = j,
                    IDGol = (int?)g.IDGol ?? 0,
                    iQuantidade = (int?)g.iQuantidade ?? 0
                }).OrderBy(p => p.Jogador.Pessoa.sNome).ToList()
                             .Select(x => new GolAmistoso()
                {
                    IDGol       = x.IDGol,
                    IDJogador   = x.IDJogador,
                    iQuantidade = x.iQuantidade,
                    Jogador     = x.Jogador
                }).ToList();
            }

            ViewBag.IDPartida      = IDPartida;
            ViewBag.iTipoPartida   = iTipoPartida;
            ViewBag.QuantidadeGols = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            return(View(jogadorGol));
        }
Exemplo n.º 5
0
        // GET: PartidaCampeonato/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PartidaCampeonato partidaCampeonato = db.PartidaCampeonato.Find(id);

            if (partidaCampeonato == null)
            {
                return(HttpNotFound());
            }
            return(View(partidaCampeonato));
        }
Exemplo n.º 6
0
 public ActionResult DeleteConfirmed(int id)
 {
     try
     {
         PartidaCampeonato partidaCampeonato = db.PartidaCampeonato.Find(id);
         db.PartidaCampeonato.Remove(partidaCampeonato);
         db.SaveChanges();
         return(RedirectToAction("Index").ComMensagem("Operação realizada com sucesso.", "alert-success"));
     }
     catch (Exception)
     {
         return(RedirectToAction("Index").ComMensagem("Este registro não pode ser apagado, ele possui dependências.", "alert-danger"));
     }
 }
Exemplo n.º 7
0
        public ActionResult Create([Bind(Include = "IDPartidaCampeonato,IDInscrito1,IDInscrito2,iQntGols1,iQntGols2,dDataPartida,sHoraPartida,iRodada,dDataCadastro")] PartidaCampeonato partidaCampeonato)
        {
            if (ModelState.IsValid)
            {
                if (partidaCampeonato.IDInscrito1 == partidaCampeonato.IDInscrito2)
                {
                    ViewBag.ListaCampeonato = db.Campeonato;
                    return(View(partidaCampeonato).ComMensagem("Time 1 não pode ser igual a time 2.", "alert-warning"));
                }

                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        db.PartidaCampeonato.Add(partidaCampeonato);
                        db.SaveChanges();

                        Sumula sumula = new Sumula();

                        sumula.IDPartidaCampeonato = partidaCampeonato.IDPartidaCampeonato;
                        sumula.sObservacao         = "";
                        db.Sumula.Add(sumula);
                        db.SaveChanges();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        ex.Message.ToString();
                        transaction.Rollback();
                    }
                }

                return(RedirectToAction("Index").ComMensagem("Operação realizada com sucesso.", "alert-success"));
            }

            ViewBag.ListaCampeonato = db.Campeonato;

            return(View(partidaCampeonato));
        }
Exemplo n.º 8
0
        public ActionResult Create([Bind(Include = "IDSumula,IDPartidaCampeonato,sObservacao,dDataCadastro")] Sumula sumula)
        {
            if (ModelState.IsValid)
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        PartidaCampeonato partidaCampeonato = new PartidaCampeonato();
                        partidaCampeonato.iQntGols1 = sumula.PartidaCampeonato.iQntGols1;
                        partidaCampeonato.iQntGols2 = sumula.PartidaCampeonato.iQntGols2;

                        db.Entry(partidaCampeonato).State = EntityState.Modified;
                        db.Entry(partidaCampeonato).Property("IDInscrito1").IsModified   = false;
                        db.Entry(partidaCampeonato).Property("IDInscrito2").IsModified   = false;
                        db.Entry(partidaCampeonato).Property("dDataPartida").IsModified  = false;
                        db.Entry(partidaCampeonato).Property("sHoraPartida").IsModified  = false;
                        db.Entry(partidaCampeonato).Property("dDataCadastro").IsModified = false;

                        db.SaveChanges();

                        db.Entry(sumula).State = EntityState.Modified;
                        db.Entry(sumula).Property("dDataCadastro").IsModified = false;
                        db.SaveChanges();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        ex.Message.ToString();
                        transaction.Rollback();
                    }
                }
            }

            return(View(sumula));
        }
Exemplo n.º 9
0
        public ActionResult GerarPartidasCampeonato(int?IDCampeonato, int?IDGrupoP)
        {
            try
            {
                ViewBag.ListaCampeonato = db.Campeonato;

                CampeonatoGrupo       campeonatoGrupo = new CampeonatoGrupo();
                IEnumerable <IDGrupo> actionTypes     = Enum.GetValues(typeof(IDGrupo))
                                                        .Cast <IDGrupo>();
                ViewBag.ListaGrupos = from action in actionTypes
                                      select new SelectListItem
                {
                    Text  = action.ToString(),
                    Value = ((int)action).ToString()
                };

                Random rnd        = new Random();
                int    qtde_times = 0;
                //int iRodada = 1;
                //int iQntdJogoTimeRodada = 0;
                int      iQntdRodadas = 0;
                int      cont         = 0;
                int      turno        = 0;
                int[]    timesInscritos;
                string[] partidas;


                if (IDCampeonato == null)
                {
                    return(View().ComMensagem("Selecione o Campeonato.", "alert-warning"));
                }
                else
                {
                    var campeonato = db.Campeonato.Find(IDCampeonato);


                    switch (campeonato.iTipoCampeonato)
                    {
                    case TipoCampeonato.Grupos:

                        if (IDGrupoP == null)
                        {
                            return(View().ComMensagem("Selecione o grupo.", "alert-warning"));
                        }
                        else
                        {
                            IDGrupo grupo = (IDGrupo)Enum.ToObject(typeof(IDGrupo), IDGrupoP);

                            var inscritosGrupos = db.CampeonatoGrupo.Where(p => p.IDGrupo == grupo && p.Inscrito.PreInscrito.IDCampeonato == IDCampeonato).ToList();

                            int[] timesGrupo = new int[inscritosGrupos.Count];

                            foreach (CampeonatoGrupo e in inscritosGrupos)
                            {
                                timesGrupo[cont] = e.IDInscrito;
                                cont++;
                            }

                            timesInscritos = timesGrupo;
                        }
                        break;

                    case TipoCampeonato.MataMata:
                        return(View().ComMensagem("Regra do Mata-Mata não foi emplementada.", "alert-warning"));

                    default:

                        var inscritos = db.Inscrito.Where(p => p.PreInscrito.Campeonato.IDCampeonato == IDCampeonato).ToList();

                        int[] times = new int[inscritos.Count];

                        foreach (Inscrito e in inscritos)
                        {
                            times[cont] = e.IDInscrito;
                            cont++;
                        }

                        timesInscritos = times;
                        break;
                    }


                    qtde_times = timesInscritos.Count(); // Quantidade de Times

                    if (qtde_times % 2 == 0)
                    {
                        iQntdRodadas = qtde_times - 1;
                    }
                    else
                    {
                        iQntdRodadas = qtde_times;
                    }

                    if (campeonato.bIdaVolta)
                    {
                        turno    = 2;
                        partidas = new string[calculaFatorial(qtde_times) / calculaFatorial(qtde_times - 2)];
                    }
                    else
                    {
                        turno    = 1;
                        partidas = new string[calculaFatorial(qtde_times) / calculaFatorial(qtde_times - 2) / 2];
                    }

                    cont = 0;

                    for (int t = 0; t < turno; t++)
                    {
                        for (int i = 0; i < qtde_times; i++)
                        {     //For para caminhar entre os times
                            for (int j = i; j < qtde_times; j++)
                            { //For para caminha entre os adversários
                                if (timesInscritos[i] != timesInscritos[j])
                                {
                                    using (var transaction = db.Database.BeginTransaction())
                                    {
                                        try
                                        {
                                            PartidaCampeonato partidaCampeonato = new PartidaCampeonato();
                                            partidaCampeonato.IDInscrito1   = timesInscritos[i];
                                            partidaCampeonato.IDInscrito2   = timesInscritos[j];
                                            partidaCampeonato.iQntGols1     = 0;
                                            partidaCampeonato.iQntGols2     = 0;
                                            partidaCampeonato.dDataPartida  = DateTime.Now;
                                            partidaCampeonato.dDataCadastro = DateTime.Now;
                                            partidaCampeonato.sHoraPartida  = "";
                                            partidaCampeonato.iRodada       = 0;

                                            db.PartidaCampeonato.Add(partidaCampeonato);
                                            db.SaveChanges();

                                            Sumula sumula = new Sumula();

                                            sumula.IDPartidaCampeonato = partidaCampeonato.IDPartidaCampeonato;
                                            sumula.sObservacao         = "";
                                            sumula.dDataCadastro       = DateTime.Now;
                                            db.Sumula.Add(sumula);
                                            db.SaveChanges();

                                            transaction.Commit();
                                        }
                                        catch (Exception ex)
                                        {
                                            ex.Message.ToString();
                                            transaction.Rollback();
                                        }
                                    }
                                    //verifica pra não deixar jogar um time contra ele mesmo
                                    //partidaCampeonato.IDInscrito1 = timesInscritos[i];
                                    //partidaCampeonato.IDInscrito2 = timesInscritos[j];
                                    //partidaCampeonato.iQntGols1 = 0;
                                    //partidaCampeonato.iQntGols2 = 0;
                                    //partidaCampeonato.dDataPartida = DateTime.Now;
                                    //partidaCampeonato.dDataCadastro = DateTime.Now;
                                    //partidaCampeonato.sHoraPartida = "";

                                    //iQntdJogoTimeRodada = db.PartidaCampeonato.Where(p => p.iRodada == iRodada && (p.IDInscrito1 == partidaCampeonato.IDInscrito1 || p.IDInscrito2 == partidaCampeonato.IDInscrito1 || p.IDInscrito1 == partidaCampeonato.IDInscrito2 || p.IDInscrito2 == partidaCampeonato.IDInscrito2)).Count();

                                    //while (iQntdJogoTimeRodada == 0)
                                    //{
                                    //    iRodada = rnd.Next(1, iQntdRodadas);

                                    //    iQntdJogoTimeRodada = db.PartidaCampeonato.Where(p => p.iRodada == iRodada && (p.IDInscrito1 == partidaCampeonato.IDInscrito1 || p.IDInscrito2 == partidaCampeonato.IDInscrito1 || p.IDInscrito1 == partidaCampeonato.IDInscrito2 || p.IDInscrito2 == partidaCampeonato.IDInscrito2)).Count();

                                    //    cont++;

                                    //    if (cont >= qtde_times + iQntdRodadas)
                                    //    {
                                    //        iRodada = qtde_times;
                                    //        break;
                                    //    }
                                    //}

                                    //cont = 0;

                                    //partidaCampeonato.iRodada = iRodada;
                                    //partidaCampeonato.iRodada = 1;

                                    //db.PartidaCampeonato.Add(partidaCampeonato);
                                    //db.SaveChanges();
                                }
                            }
                        }
                    }
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                    }
                }
                return(View().ComMensagem("Erro ao realizar a operação.", "alert-danger"));
            }

            return(RedirectToAction("Index").ComMensagem("Partidas geradas com sucesso.", "alert-success"));
        }