public static RepositorioDeFuncionalidades NuevoRepositorioDeFuncionalidades(IConexionBD conexion) { if (!(_instancia != null && !_instancia.ExpiroTiempoDelRepositorio())) { _instancia = new RepositorioDeFuncionalidades(conexion); } return(_instancia); }
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); }
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()); }
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); }