public object AlterarStatus(Evento evento) { Usuario user = GetSessionUser(); try { //var ev = eventoRepository.GetEventoById(evento.IdEvento); //ev.Status = evento.Status; Evento ev = eventoRepository.AlteraStatusEvento(evento.IdEvento, evento.Status); if (ev != null) { try { if (evento.Status == EnumStatusEvento.cancelado) { var url = System.Web.Hosting.HostingEnvironment.MapPath("~/Views/Email/AlteracaoEvento.cshtml"); string viewCode = System.IO.File.ReadAllText(url); var eventoEmail = eventoRepository.ConverToEmailModel(ev, Url.Action("Login", "Account", null, Request.Url.Scheme)); var html = RazorEngine.Razor.Parse(viewCode, eventoEmail); var alunosConfirmados = eventoRepository.GetListaChamada(ev.IdEvento); if (alunosConfirmados != null && alunosConfirmados.Count > 0 && alunosConfirmados.Any(x => x.Usuario.E_mail != "")) { var to = alunosConfirmados.Where(x => !string.IsNullOrEmpty(x.Usuario.E_mail)).Select(x => x.Usuario.E_mail).ToArray(); var from = System.Configuration.ConfigurationManager.AppSettings["MailFrom"].ToString(); Email.EnviarEmail(from, to, "Alteração de evento", html); } } } catch (Exception e) { } if (ev.Status == EnumStatusEvento.cancelado) { Utilidades.SalvaLog(user, EnumAcao.Cancelar, ev, ev.IdEvento); } return(Json(new { Status = true, Type = "success", Message = "Evento salvo com sucesso", ReturnUrl = Url.Action("Index") }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Status = false, Type = "error", Message = "Ocorreu um erro ao realizar esta operação." }, JsonRequestBehavior.AllowGet)); } } catch (Exception e) { return(Json(new { Status = false, Type = "error", Message = "Ocorreu um erro ao realizar esta operação." }, JsonRequestBehavior.AllowGet)); } }