public TimesController()
 {
     try
     {
         DAO = new TimesDAO();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
     GeraProximoId = true;
 }
        public IActionResult Filtra(string nomeTime, string siglaTime, int OrderBy, int UsuarioId)
        {
            TimesDAO dao = new TimesDAO();

            if (String.IsNullOrEmpty(nomeTime))
            {
                nomeTime = "";
            }
            if (String.IsNullOrEmpty(siglaTime))
            {
                siglaTime = "";
            }
            List <TimeViewModel> lista = dao.ListagemComFiltro(nomeTime, siglaTime, OrderBy, UsuarioId);

            return(PartialView("pvGrid", lista));
        }
        public IActionResult VisualizarTime(int id)
        {
            TimesDAO      dao  = new TimesDAO();
            TimeViewModel time = dao.Consulta(id);

            if (time != null)
            {
                TimeJogadorDAO daotj = new TimeJogadorDAO();
                List <TimeJogadorViewModel> timejogadores = daotj.Listagem(id);
                if (timejogadores.Count == 0)
                {
                    ViewBag.ListJogadores = null;
                }
                else
                {
                    timejogadores.Sort((a, b) => a.PosicaoId.CompareTo(b.PosicaoId));

                    NacionalidadesDAO ndao = new NacionalidadesDAO();
                    List <NacionalidadesViewModel> nacionalidades = ndao.Listagem();

                    PePreferidoDAO pdao             = new PePreferidoDAO();
                    List <PePreferidoViewModel> pes = pdao.Listagem();

                    PosicoesDAO posdao           = new PosicoesDAO();
                    List <PosicoesViewModel> pos = posdao.Listagem();

                    List <TimeJogadorCompletoViewModel> list = new List <TimeJogadorCompletoViewModel>();

                    JogadoresDAO jdao = new JogadoresDAO();
                    foreach (TimeJogadorViewModel tj in timejogadores)
                    {
                        JogadoresViewModel jogador = jdao.Consulta(tj.JogadorId);
                        list.Add(new TimeJogadorCompletoViewModel(
                                     tj.Id,
                                     tj.JogadorId,
                                     tj.PosicaoId,
                                     tj.TimeId,
                                     tj.NmrCamiseta,
                                     jogador.Nome, jogador.Idade,
                                     jogador.Altura, jogador.Overall,
                                     pes.Find(pe => pe.Id == jogador.PePreferidoId).Nome,
                                     nacionalidades.Find(nac => nac.Id == jogador.NacionalidadeId).Pais,
                                     pos.Find(posic => posic.Id == tj.PosicaoId).Abreviacao));
                    }
                    ViewBag.ListJogadores = list;
                }

                TecnicoDAO        tdao    = new TecnicoDAO();
                TecnicosViewModel tecnico = tdao.Consulta(time.TecnicoId);
                ViewBag.tecnico = tecnico;

                UsuarioDAO        udao    = new UsuarioDAO();
                UsuariosViewModel usuario = udao.Consulta(time.UsuarioId);
                ViewBag.usuario = usuario;

                return(View("View", time));
            }
            else
            {
                return(RedirectToAction("Index", "Times"));
            }
        }