public ActionResult ChangePassword([Bind] Usuario usuario, bool isCurrentUser) { if (!usuario.NewPassword.Equals(usuario.NewPasswordRepeat)) { ModelState.AddModelError("NewPassword", "Las contraseñas deben coincidir"); ViewBag.isCurrentUser = isCurrentUser; return(View(usuario)); } if (logic.ChangePassword(usuario.EntityID, usuario.NewPassword, usuario.Password)) { MailLogic mlog = new MailLogic(); mlog.EnviarEmail(usuario.EntityID, usuario.NewPassword, Global.MailsTypes.CAMBIO_CONTRASEÑA); TempData["SaveSuccess"] = "Se cambió la contraseña correctamente"; if (isCurrentUser) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Index", "Home")); } } ViewBag.isCurrentUser = isCurrentUser; ModelState.AddModelError("Password", "La contraseña actual ingresada no es correcta"); return(View(usuario)); }
public ActionResult HacerExamen(List <Pregunta> preguntas, long cursoID) { var resultado = CursoUsuarioLogic.GuardarExamenRealizado(preguntas, cursoID); PreguntaLogic preguntaLogic = new PreguntaLogic(); var listaPreguntas = preguntaLogic.GetPreguntasByCurso(cursoID); foreach (Pregunta pregunta in listaPreguntas) { pregunta.Curso = new Curso(); foreach (Opcion opcion in pregunta.Opciones) { opcion.Pregunta = new Pregunta(); } } string mensaje; if (resultado >= 60) { mensaje = "Felecitaciones, aprobaste, tu nota es: " + resultado; // -- Obtengo usuario logueado var usuarioLogueado = SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION); MailLogic mailLogic = new MailLogic(); mailLogic.EnviarEmail(usuarioLogueado.EntityID, usuarioLogueado.Password, Global.MailsTypes.CURSO_FINALIZADO); List <Usuario> usuariosEmpresaMails = new UsuarioLogic().GetUsuarioEmpresaParaMail(usuarioLogueado.Empresa.EntityID); foreach (Usuario usu in usuariosEmpresaMails) { mailLogic.EnviarEmail(usu.EntityID, usu.Password, Global.MailsTypes.CURSO_FINALIZADO); } } else { mensaje = "No aprobaste, tu nota es: " + resultado; } ExamenJSON examen = new ExamenJSON { Preguntas = listaPreguntas, Mensaje = mensaje }; return(Json(examen, JsonRequestBehavior.AllowGet)); }
public ActionResult Save([Bind] Usuario usuario, long ddlRol, long?ddlEmpresa, bool?isMailCursoTerminado) { //Agrego el rol usuario.Rol = new Rol { EntityID = ddlRol }; // -- Agrego Empresa usuario.Empresa = new Empresa { EntityID = ddlEmpresa.HasValue ? ddlEmpresa.Value : SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION).Empresa.EntityID }; //indica si se le va a mandar un mail al usuario cada vez que un usuario de esa empresa finalice un curso usuario.IsMailCursoTerminado = isMailCursoTerminado.HasValue ? isMailCursoTerminado.Value : false; if (ModelState.IsValid) { // -- Encripto contrasena usuario.Password = Cryptography.Encrypt(usuario.Password); // Seteo activo usuario.Activo = true; //Si es un nuevo usuario if (usuario.EntityID == 0) { //Seteo el nombre de uusario en minusculas usuario.NombreUsuario = usuario.NombreUsuario.ToLower(); //Seteo si esta editando ViewBag.isEditando = false; //Seteo titulo ViewBag.Title = "Crear Usuario"; if (usuario.NombreUsuario.Contains(" ")) { //Seteo error ModelState.AddModelError("NombreUsuario", "El nombre de usuario no puede contener espacios en blanco"); } else if (logic.Add(usuario) == -99)//Si hay error al agregar { //Seteo selected rol ViewBag.selectedddlRol = ddlRol; //Seteo selected empresa ViewBag.selectedddlEmpresa = ddlEmpresa; //Seteo error ModelState.AddModelError("NombreUsuario", "El nombre de usuario ya se encuentra en uso"); } else { MailLogic mlog = new MailLogic(); mlog.EnviarEmail(usuario.EntityID, string.Empty, Global.MailsTypes.REGISTRO); //Redirecciono al index si no hubo error TempData["SaveSuccess"] = "Se guardó usuario correctamente"; return(RedirectToAction("Index")); } } else { //Actualizo usuario logic.Update(usuario); //Redirecciono al index si no hubo error TempData["SaveSuccess"] = "Se guardó usuario correctamente"; return(RedirectToAction("Index")); } } if (usuario.EntityID == 0) { ViewBag.isEditando = false; } else { ViewBag.isEditando = true; } return(View(usuario)); }