コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }