예제 #1
0
 /// <summary>
 /// Usuarios conectados desde una IP
 /// </summary>
 /// <param name="ip">ip de la conexion</param>
 /// <returns> Lista de los nombres de los usuarios en mayúsculas</returns>
 public IQueryable<vmNombre> UsuariosConectadosIP(string ip)
 {
     UserData datos = new UserData();
     datos.CargarDatos();
     var query = from conex in datos.Conexiones where ip==conex.IP
                 join usCat in datos.UsuariosCategorias on conex.UsuarioCategoriaId equals usCat.Id
                 join us in datos.Usuarios on usCat.UsuarioId equals us.Id
                 orderby us.NombreUsuario ascending
                 select new vmNombre { nombre = us.NombreUsuario };
     return query.AsQueryable();
 }
예제 #2
0
        //********** Categorias ***************
        /// <summary>
        /// Lista de pares (Categoria,Usuario) para una aplicación dada
        /// </summary>
        /// <param name="aplicación">nombre de la aplicación</param>
        /// <returns>Lista de pares (nombre de categoria y nombre de Usuario)</returns>
        public IQueryable<vmCategoriaNombre> ListaParCategoriaUsuarioParaApp(string aplicacion)
        {
            UserData datos = new UserData();
             datos.CargarDatos();

             var query = from app in datos.Aplicaciones where aplicacion == app.NombreAplicacion
                         join us in datos.Usuarios on app.Id equals us.AplicacionId
                         join usCat in datos.UsuariosCategorias on us.Id equals usCat.UsuarioId
                         join categoria in datos.Categorias on usCat.CategoriaId equals categoria.Id
                         select new vmCategoriaNombre { nombre = us.NombreUsuario.ToUpper(), categoria = categoria.NombreCategoria.ToUpper() };

             return query.AsQueryable();
        }
예제 #3
0
        /// <summary>
        /// Lista de Usuarios agrupados en lista de categorias (un mismo usuario puede estar en dos categorias)
        /// </summary>
        /// <returns> Lista de nombres de usuario agrupados para cada categoria (de otra lista) </returns>
        public IQueryable<vmCategoriaNombre> AgrupacionUsuariosCategorias()
        {
            UserData datos = new UserData();
             datos.CargarDatos();

             var query = from categoria in datos.Categorias
                         orderby categoria.NombreCategoria descending
                         join usCat in datos.UsuariosCategorias on categoria.Id equals usCat.CategoriaId
                         join us in datos.Usuarios on usCat.UsuarioId equals us.Id
                         select new vmCategoriaNombre { nombre = us.NombreUsuario, categoria = categoria.NombreCategoria };

             return query.AsQueryable();
        }
예제 #4
0
 /// <summary>
 /// Encuentra el nombre del usuario de una aplicación dada a través de su e-mail
 /// </summary>
 /// <param name="Aplicacion"> cadena con el nombre de la aplicación</param>
 /// <param name="email">cadena con el e-mail</param>
 /// <returns> Nombre del Usuario o null si no se encuentra</returns>
 public IQueryable<vmNombre> EncontrarUsuarioAppEmail(string aplicacion, string email)
 {
     UserData datos = new UserData();
      datos.CargarDatos();
      var query = from app in datos.Aplicaciones where aplicacion == app.NombreAplicacion
                      from per in datos.Personales
                  from us in datos.Usuarios
                  where app.Id == per.AplicacionId
                       && per.Email.Equals(email) && per.UsuarioId == us.Id
                  orderby  us.NombreUsuario ascending
                  select new vmNombre { nombre = us.NombreUsuario };
      if (query != null) {
          return query.AsQueryable();
      }
      return null;
 }
예제 #5
0
        static void Main(string[] args)
        {
            ///Primera Consulta
            UserData datos = new UserData();
            datos.CargarDatos();
            Consultas consulta = new Consultas();
            int id = 1;
            Console.WriteLine("Consulta 1");
            IQueryable<vmNombre> nombre = consulta.UsuariosEnCategoria(id);

            foreach( var T in nombre){
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();
            ///Segunda Consulta
            Console.WriteLine("Consulta 2");
            IQueryable<vmNombre> consulta2 = consulta.UsuariosEnCategoria("Alumno");

            foreach (var T in consulta2)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();

            ///Tercera Consulta
            Console.WriteLine("Consulta 3");
            IQueryable<vmNombre> consulta3 = consulta.UsuariosConNombreComienza("Ju");

            foreach (var T in consulta3)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();

            ///Cuarta Consulta
            Console.WriteLine("Consulta 4");
            IQueryable<vmNombre> consulta4 = consulta.UsuariosConNombreComienzaEnCategoria("An","Al");

            foreach (var T in consulta4)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();

            ///Quinta Consulta
            Console.WriteLine("Consulta 5");
            IQueryable<vmNombre> consulta5 = consulta.UsuariosConectadosIP("193.161.134.18");

            foreach (var T in consulta5)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();

            //Sexta Consulta
            Console.WriteLine("Consulta 6");
            IQueryable<vmNombre> consulta6 = consulta.EncontrarUsuarioAppEmail(" ", "*****@*****.**");

            foreach (var T in consulta6)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();

            //Septima Consulta
            Console.WriteLine("Consulta 7");
            IQueryable<vmCategoriaNombre> consulta7 = consulta.ListaParCategoriaUsuarioParaApp("Excel");

            foreach (var T in consulta7)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();

            //Septima Consulta
            Console.WriteLine("Consulta 8");
            IQueryable<vmCategoriaNombre> consulta8 = consulta.AgrupacionUsuariosCategorias();

            foreach (var T in consulta8)
            {
                Console.WriteLine(T.toStringName());
            }
            Console.ReadLine();
        }
예제 #6
0
        /// <summary>
        /// Usuarios cuyo nombre comienza por cadenaComienzo
        /// </summary>
        /// <param name="cadenaComienzo">cadena de comienzo del nombre</param>
        /// <returns> Lista de los nombres de ls usuarios en mayúsculas</returns>
        /// 
        public IQueryable<vmNombre> UsuariosConNombreComienza(string cadenaComienzo)
        {
            UserData datos = new UserData();
             int cad = cadenaComienzo.Count()-1;
             datos.CargarDatos();

             var vv = from user in datos.Usuarios
                      where
                          cadenaComienzo[cad] == user.NombreUsuario[cad]
                      orderby user.NombreUsuario ascending
                      select new vmNombre { nombre = user.NombreUsuario.ToUpper() };
             return vv.AsQueryable();
        }
예제 #7
0
 /// <summary>
 /// Usuarios que pertenecen a la categoria nombreCategoria
 /// </summary>
 /// <param name="nombreCategoria"> Nombre de la categoria</param>
 /// <returns> Lista ordenada alfabéticamente de los nombres de ls usuarios en mayúsculas</returns>
 public IQueryable<vmNombre> UsuariosEnCategoria(string nombreCategoria)
 {
     UserData datos = new UserData();
     datos.CargarDatos();
     var vv = from categoria in datos.Categorias
                  where categoria.NombreCategoria==nombreCategoria
                  join usCa in datos.UsuariosCategorias on
                      categoria.Id equals usCa.CategoriaId
                      join user in datos.Usuarios on
                          usCa.UsuarioId equals user.Id orderby                   user.NombreUsuario ascending select new vmNombre { nombre = user.NombreUsuario.ToUpper() };
     return vv.AsQueryable();
 }
예제 #8
0
 //************** Usuarios ********************************
 /// <summary>
 /// Usuarios que pertenecen a la categoria cuyo codigo es categoriaId
 /// </summary>
 /// <param name="categoriaId"> Id de la categoria</param>
 /// <returns> Lista ordenada alfabéticamente de los nombres de ls usuarios en mayúsculas</returns>
 public IQueryable<vmNombre> UsuariosEnCategoria(int categoriaId)
 {
     UserData datos = new UserData();
     datos.CargarDatos();
     var vv = from usuario in datos.Usuarios join userCat in datos.UsuariosCategorias on                 categoriaId equals userCat.CategoriaId where userCat.Id==usuario.Id orderby                     usuario.NombreUsuario ascending select new vmNombre {nombre =                                                                   usuario.NombreUsuario.ToUpper()};
     return vv.AsQueryable();
 }
예제 #9
0
        /// <summary>
        /// Usuarios cuyo nombre comienza por cadenaComienzo que pertenecen a una categoria dada
        /// </summary>
        /// <param name="categoria">nombre de la caegoria</param>
        /// <param name="cadenaComienzo">cadnea de comienzo del nombre</param>
        /// <returns> Lista ordenada alfabéticamente de los nombres de ls usuarios en mayúsculas</returns>
        public IQueryable<vmNombre> UsuariosConNombreComienzaEnCategoria(string cadenaComienzo,
            string categoria)
        {
            UserData datos = new UserData();
            datos.CargarDatos();
            int cad = cadenaComienzo.Count() - 1;
            int dac = categoria.Count() - 1;

            var query = from cat in datos.Categorias where cat.NombreCategoria[dac] == categoria[dac]
                        join usCat in datos.UsuariosCategorias on cat.Id equals usCat.CategoriaId
                        join us in datos.Usuarios on usCat.UsuarioId equals us.Id
                        orderby us.NombreUsuario ascending
                        select new vmNombre { nombre = us.NombreUsuario };
            var query2 = from da in query where da.nombre[cad] == cadenaComienzo[cad] select new vmNombre { nombre = da.nombre.ToUpper() };
            return query2.AsQueryable();
        }