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) { // } }