Ejemplo n.º 1
0
        public ActionResult IniciarSesion(string txtNombreUsuario, string txtClave)
        {
            try
            {
                var usuarioActivo = Rule.IniciarSesion(txtNombreUsuario, txtClave);

                if (usuarioActivo != null)
                {
                    // Tiene más de un rol para esta aplicación
                    if (Rule.TieneMasDeUnRol())
                    {
                        return(RedirectToAction("SeleccionarPerfil", "Home"));
                    }

                    // Tiene un rol para esta aplicación
                    var rolActual = Rule.GetRolesByAplicacion().FirstOrDefault();
                    if (rolActual != null)
                    {
                        return(RedirectToAction(SeleccionarPerfil(rolActual.Id), "Home"));
                    }

                    // No tiene ningún rol para esta aplicación
                    TempData[Constantes.ErrorVista] = "El usuario no posee el rol adecuado para ingresar a la aplicación";
                }
            }
            catch (ApplicationException ex)
            {
                TempData[Constantes.ErrorVista] = ex.Message;
            }
            //si no permanece en la misma pagina
            return(RedirectToAction("Index", "Home"));
        }