Example #1
0
 public static RepositorioDeFuncionalidades NuevoRepositorioDeFuncionalidades(IConexionBD conexion)
 {
     if (!(_instancia != null && !_instancia.ExpiroTiempoDelRepositorio()))
     {
         _instancia = new RepositorioDeFuncionalidades(conexion);
     }
     return(_instancia);
 }
Example #2
0
        public Usuario GetUsuarioPorAliasYConFuncionalidades(string alias, bool incluir_bajas = false)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@alias", alias);
            if (incluir_bajas)
            {
                parametros.Add("@incluir_bajas", 1);
            }
            var tablaDatos = conexion.Ejecutar("dbo.Web_GetUsuario", parametros);

            if (tablaDatos.Rows.Count > 1)
            {
                throw new Exception("hay mas de un usuario con el mismo alias: " + alias);
            }

            Usuario usuario = GetUsuarioDeTablaDeDatos(tablaDatos);

            usuario.Funcionalidades = RepositorioDeFuncionalidadesDeUsuarios.NuevoRepositorioDeFuncionalidadesDeUsuarios(conexion, RepositorioDeFuncionalidades.NuevoRepositorioDeFuncionalidades(conexion)).GetFuncionalidadesPerfilesAreas(usuario);

            return(usuario);
        }
Example #3
0
        public List <Usuario> GetUsuariosQueAdministranLaFuncionalidadDelArea(int id_funcionalidad, Area area)
        {
            var usuarios_1 = RepositorioDePermisosSobreAreas.NuevoRepositorioDePermisosSobreAreas(conexion, RepositorioDeAreas.NuevoRepositorioDeAreas(conexion)).UsuariosQueAdministranElArea(area.Id);
            var usuarios_2 = RepositorioDeFuncionalidadesDeUsuarios.NuevoRepositorioDeFuncionalidadesDeUsuarios(conexion, RepositorioDeFuncionalidades.NuevoRepositorioDeFuncionalidades(conexion)).UsuariosConLaFuncionalidad(id_funcionalidad);

            return(usuarios_1.Intersect(usuarios_2).ToList());
        }
Example #4
0
        public Usuario CrearUsuarioPara(int id_persona)
        {
            var persona  = repositorio_de_personas.GetPersonaPorId(id_persona);
            var alias    = (persona.Nombre.First() + persona.Apellido).Replace(" ", "");
            var contador = 1;

            while (!GetUsuarioPorAlias(alias, true).Equals(new UsuarioNulo()))
            {
                alias = (persona.Nombre.First() + persona.Apellido + contador.ToString()).Replace(" ", "");
                contador++;
            }

            var clave_encriptada = Encriptador.EncriptarSHA1(ClaveRandom());

            var parametros = new Dictionary <string, object>();

            parametros.Add("@id_persona", id_persona);
            parametros.Add("@alias", alias);
            parametros.Add("@clave_encriptada", clave_encriptada);
            int id_usuario = (int)conexion.EjecutarEscalar("dbo.MAU_CrearUsuario", parametros);

            var repo_funcionalidades_usuarios = RepositorioDeFuncionalidadesDeUsuarios.NuevoRepositorioDeFuncionalidadesDeUsuarios(this.conexion, RepositorioDeFuncionalidades.NuevoRepositorioDeFuncionalidades(this.conexion));

            var usuario = new Usuario(id_usuario, alias, clave_encriptada, persona, true);

            //repo_funcionalidades_usuarios.ConcederBasicas(usuario);
            repo_funcionalidades_usuarios.ConcederPerfilBasico(usuario);//FC: nuevo esquema de perfiles basicos

            return(usuario);
        }