public ActionResult Inserir(EventoViewModels eventoViewModel, int[] contatos)
        {
            if (Session["UsuarioAtivoId"] == null)
            {
                return RedirectToAction("Login", "Home");
            }
            if (ModelState.IsValid)
            {
                Evento evento = new Evento();
                evento.Nome = eventoViewModel.Nome;
                evento.Horario = eventoViewModel.Horario;
                evento.DataEvento = eventoViewModel.DataEvento;
                evento.DiaDaSemana = eventoViewModel.DataEvento.DayOfWeek;
                evento.Descricao = eventoViewModel.Descricao;
                evento.Local = eventoViewModel.Local;
                evento.Periodicidade = eventoViewModel.Periodicidade;
                evento.SemanaDoMes = models.consultaSemanaDoMes(eventoViewModel.DataEvento.Date);
                evento.UsuarioAtivo = models.retornarUsuarioLogado();

                if (contatos != null)
                {
                    var usuariosPassivos = new List<UsuarioPassivo>();
                    List<string> contatosEmail = new List<string>();
                    int i = 0;

                    foreach (var contatoId in contatos)
                    {
                        UsuarioPassivo contato = models.consultaUsuariosPassivosPorId(contatoId);
                        contatosEmail.Add(contato.Email);
                        usuariosPassivos.Add(contato);
                    }
                    evento.UsuariosPassivos = usuariosPassivos;

                    foreach (var email in contatosEmail)
                    {
                        var usuarioNome = evento.UsuarioAtivo.Nome + " " + evento.UsuarioAtivo.Sobrenome;
                        var usuarioEmail = evento.UsuarioAtivo.Email;
                        string body = @"<html><body>
                                            <p>Olá! O <br/><br/>" + usuarioNome + " marcou " + evento.Nome + " com você no(a) " + evento.Local +
                                                           " no dia " + evento.DataEvento.ToShortDateString() + " às " + evento.Horario.ToString(@"hh\:mm") +
                                            ".</p><p>" + evento.Descricao + "</p> <p>Atenciosamente, Mazul.</p></body></html>";

                        try
                        {
                            MailMessage mail = new MailMessage(usuarioEmail, email, evento.Nome, body);
                            mail.From = new MailAddress(usuarioEmail, usuarioNome);
                            mail.IsBodyHtml = true; // necessary if you're using html email

                            NetworkCredential credential = new NetworkCredential("*****@*****.**", "Asdzxc123$");
                            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                            smtp.EnableSsl = true;
                            smtp.UseDefaultCredentials = false;
                            smtp.Credentials = credential;
                            smtp.Send(mail);
                            i++;
                        }
                        catch (SmtpException e)
                        {
                            TempData["ErrorMail"] = "Parece que houve um problema e não conseguimos enviar para seu e-mail o link de recuperação de senha ><  Mas fique tranquilo, já estamos solucionando o problema o/";
                            //ModelState.AddModelError("ErrorMail", "Ocorreu um erro ao enviar email para contato. Fique tranquilo, já estamos solucionando o problema." + e);
                        }

                    }
                }

                TempData["Sucesso"] = "O evento foi criado ^^";
                models.inserirEvento(evento);
                return RedirectToAction("Index");
            }
            else
            {
                ModelState.AddModelError("erro", "Alguns campos não estão preenchidos corretamente :/");
            }
            return View();
        }
        public ActionResult Editar(EventoViewModels eventoViewModel, int[] contatos)
        {
            if (Session["UsuarioAtivoId"] == null)
            {
                return RedirectToAction("Login", "Home");
            }
            if (ModelState.IsValid)
            {
                Evento evento = new Evento();
                evento.Id = eventoViewModel.Id;
                evento.Nome = eventoViewModel.Nome;
                evento.DataEvento = eventoViewModel.DataEvento;
                evento.DiaDaSemana = eventoViewModel.DataEvento.DayOfWeek;
                evento.SemanaDoMes = models.consultaSemanaDoMes(eventoViewModel.DataEvento.Date);
                evento.Descricao = eventoViewModel.Descricao;
                evento.Local = eventoViewModel.Local;
                evento.Periodicidade = eventoViewModel.Periodicidade;
                evento.Horario = eventoViewModel.Horario;
                evento.UsuarioAtivo = models.retornarUsuarioLogado();
                if (contatos != null)
                {
                    var usuariosPassivos = new List<UsuarioPassivo>();
                    List<string> contatosEmail = new List<string>();
                    int i = 0;

                    foreach (var contatoId in contatos)
                    {
                        UsuarioPassivo contato = models.consultaUsuariosPassivosPorId(contatoId);
                        contatosEmail.Add(contato.Email);
                        usuariosPassivos.Add(contato);
                    }
                    evento.UsuariosPassivos = usuariosPassivos;

                    foreach (var email in contatosEmail)
                    {
                        var usuarioNome = evento.UsuarioAtivo.Nome + " " + evento.UsuarioAtivo.Sobrenome;
                        var usuarioEmail = evento.UsuarioAtivo.Email;
                        string body = @"<html><body>
                                            <p>Olá! O <br/><br/>" + usuarioNome + " remarcou " + evento.Nome + " com você no(a) " + evento.Local +
                                                           " para o dia " + evento.DataEvento.ToShortDateString() + " às " + evento.Horario.ToString(@"hh\:mm") +
                                            ".</p><p>" + evento.Descricao + "<br/> </p> <p>Atenciosamente, Mazul.</p></body></html>";

                        MailMessage mail = new MailMessage(usuarioEmail, email, evento.Nome, body);
                        mail.From = new MailAddress(usuarioEmail, usuarioNome);
                        mail.IsBodyHtml = true; // necessary if you're using html email

                        NetworkCredential credential = new NetworkCredential("*****@*****.**", "Asdzxc123$");
                        SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                        smtp.EnableSsl = true;
                        smtp.UseDefaultCredentials = false;
                        smtp.Credentials = credential;
                        smtp.Send(mail);
                        i++;
                    }
                }

                TempData["Sucesso"] = "O evento foi atualizado ^^";
                models.editarEvento(evento);
                return RedirectToAction("Index");
            }
            return View();
        }
        public void editarEvento(Evento evento)
        {
            try
            {
                Evento evnt = db.Eventos.FirstOrDefault(a => a.Id == evento.Id);
                db.Entry(evnt).State = EntityState.Deleted;
                db.SaveChanges();

                db.Eventos.Add(evento);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                //
            }
        }
 public void excluirEvento(Evento evento)
 {
     try
     {
         db.Entry(evento).State = EntityState.Deleted;
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         //
     }
 }
 public void inserirEvento(Evento evento)
 {
     try
     {
         db.Eventos.Add(evento);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         //
     }
 }