public async Task <IActionResult> Gerenciar(int?id, [FromServices] StatusDAO statusDAO,
                                                    [FromServices] CursosDAO cursoDAO)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var pessoa = await _context.Pessoas.SingleOrDefaultAsync(m => m.PessoaID == id);

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

            var idEvento = int.Parse(Cookie.LerCookie("EventoSelecionado", Request));

            ViewData["Cursos"]           = cursoDAO.ListarPorEvento(idEvento);
            ViewData["Status"]           = statusDAO.Listar();
            ViewData["CursosVinculados"] = _context.CursoPresencas.Where(x => x.PessoaID == pessoa.PessoaID);

            var novaPessoaViewModel = new NovaPessoaViewModel()
            {
                Pessoa           = pessoa,
                ImprimirEtiqueta = true
            };

            return(View(novaPessoaViewModel));
        }
        public async Task <IActionResult> Novo([FromForm] IFormCollection form, [FromForm] NovaPessoaViewModel model, [FromServices] StatusDAO statusDAO)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //model.Pessoa = Pessoas.RemoverPontosETracos(model.Pessoa);
                    _context.Add(model.Pessoa);

                    var cursos = form["Cursos"].ToString().Split(',');

                    foreach (var cursoID in cursos)
                    {
                        if (string.IsNullOrEmpty(cursoID))
                        {
                            continue;
                        }

                        var intId = int.Parse(cursoID);

                        var cursoPresenca = new CursoPresenca()
                        {
                            CursoID        = intId,
                            PessoaID       = model.Pessoa.PessoaID,
                            TipoPresencaID = 1, //Controlar no futuro
                            StatusID       = 1  //Controlar no futuro
                        };

                        _context.Add(cursoPresenca);
                    }

                    await _context.SaveChangesAsync();


                    if (model.ImprimirEtiqueta)
                    {
                        Impressao.Imprimir(model.Pessoa);
                    }

                    return(RedirectToAction(nameof(Index)));
                }
                // ViewData["StatusID"] = new SelectList(_context.Status, "StatusID", "StatusID", pessoa.StatusID);
                ViewData["Status"] = statusDAO.Listar();
                return(View(model.Pessoa));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }