Está en la página 1de 7

public IEnumerable UsuariosEnCategoria(int categoriaId)

{
ArrayList salida = new ArrayList();
var usuarios = from usr in db.UsuarioCategoriaSet
where usr.CategoriaId == categoriaId
select new { Categoria = usr.Categoria.NombreCategoria,
NombreUsuario = usr.Usuario.NombreUsuario };
Console.WriteLine("Hecho");
foreach (var us in usuarios)
{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable UsuariosEnCategoria(string nombreCategoria)


{
ArrayList salida = new ArrayList();
var usuarios = from usuario in db.UsuarioCategoriaSet
where usuario.Categoria.NombreCategoria ==
nombreCategoria
orderby usuario.Usuario.NombreUsuario
select new { Categoria =
usuario.Categoria.NombreCategoria, NombreUsuario =
usuario.Usuario.NombreUsuario.ToUpper() };
foreach (var us in usuarios)
{
salida.Add(us);
}
return salida;
}�
/--------------------------------------------------------

public IEnumerable UsuariosConNombreComienza(string cadenaComienzo)


{
ArrayList salida = new ArrayList();
var usuarios = from usuario in db.UsuarioSet
where usuario.NombreUsuario.IndexOf(cadenaComienzo) == 0
select new { NombreUsuario =
usuario.NombreUsuario.ToUpper()};
foreach (var us in usuarios)
{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable UsuariosConNombreComienza(string categoria, string


cadenaComienzo)
{
ArrayList salida = new ArrayList();
var usuarios = from usuario in db.UsuarioCategoriaSet
where
usuario.Usuario.NombreUsuario.IndexOf(cadenaComienzo) == 0 &
usuario.Categoria.NombreCategoria == categoria
select new { NombreUsuario =
usuario.Usuario.NombreUsuario.ToUpper() };
foreach (var us in usuarios)
{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable UsuariosConectadosIP(string ip)


{
ArrayList salida = new ArrayList();
db = new ModelS7Container();
var usuarios = from con in db.ConexionSet
where con.IP == ip
select new { Nombre =
con.UsuarioCategoria.Usuario.NombreUsuario.ToUpper()};
foreach (var us in usuarios)
{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable AgrupacionUsuariosCategorias()


{
ArrayList salida = new ArrayList();
var usuarios = from usr in db.UsuarioCategoriaSet
group usr.Usuario by usr.Categoria.NombreCategoria into
grupo
select new {Categoria = grupo.Key, Usuarios = grupo};

foreach (var us in usuarios)


{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable AgrupacionOrdenadaUsuariosCategorias()


{
ArrayList salida = new ArrayList();
//Opcion A
var usuarios = from user in db.UsuarioCategoriaSet
orderby user.Usuario.NombreUsuario descending
group user.Usuario.NombreUsuario by
user.Categoria.NombreCategoria into grupos
select new {Categoria = grupos.Key, Usuarios = grupos };

foreach (var us in usuarios)


{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable CategoriaConMayorNumeroUsuariosConectados()


{
ArrayList salida = new ArrayList();
var usuarios = (from usuario in db.UsuarioCategoriaSet
group usuario.Usuario.NombreUsuario by
usuario.Categoria.NombreCategoria into grupos
orderby grupos.Count() descending
select new {Categoria = grupos.Key, Count =
grupos.Count()}).Take(1);
foreach (var us in usuarios)
{
salida.Add(us);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable AgrupacionUsuariosConexionIP()


{
ArrayList salida = new ArrayList();
var usuarios = from user in db.ConexionSet
orderby user.IP
select new { IP = user.IP, Usuario =
user.UsuarioCategoria.Usuario.NombreUsuario };
foreach (var g in usuarios)
{
salida.Add(g);
string entrada = g.IP + ": ";
foreach(var v in g.Usuarios)
{
entrada = entrada + "; " + v;
}
salida.Add(entrada);
}
return salida;
}

/--------------------------------------------------------

public IEnumerable IPconMasConexionesSegunCategoria(string nombreCategoria)


{
ArrayList salida = new ArrayList();
var resultado = from user in db.ConexionSet
group user.UsuarioCategoria.Categoria.NombreCategoria
by user.IP into grupo
from cx in db.ConexionSet
where cx.UsuarioCategoria.Categoria.NombreCategoria ==
nombreCategoria & cx.IP == grupo.Key
select new { IP = grupo.Key, NumerodeConex =
grupo.Count() };
foreach (var x in resultado)
{
salida.Add(x);
}
return salida;
}

/--------------------------------------------------------

public Usuario EncontrarUsuarioAppEmail(string aplicacion, string email)


{
try
{
var usuario = (from x in db.PersonalSet
where x.Email == email &
x.Aplicacion.NombreAplicacion == aplicacion
select new {x.Usuario}).Take(1);
foreach(var x in usuario){
return x.Usuario;
}
return null;
}catch(Exception e)
{
return null;
}
}

/---------------------------------------------------------

public List<string> TodasCategoriasApp(string aplicacion)


{
List<String> salida = new List<string>();
var categorias = from c in db.CategoriaSet
where c.Aplicacion.NombreAplicacion == aplicacion
select new {Categoria = c.NombreCategoria };
foreach(var x in categorias)
{
salida.Add(x.Categoria);
}
return salida;
}

/----------------------------------------------------------

public bool ExisteCategoriaApp(string aplicacion, string categoria)


{
int res = (from x in db.CategoriaSet
where x.Aplicacion.NombreAplicacion == aplicacion &
x.NombreCategoria == categoria
select new { x.AplicacionId }).Count();
return (res > 0);
}

/----------------------------------------------------------

public bool ExisteUsuarioCategoriaApp(string aplicacion, string categoria,string


usuario)
{
int res = (from x in db.UsuarioCategoriaSet
where x.Categoria.NombreCategoria == categoria &
x.Categoria.Aplicacion.NombreAplicacion == aplicacion & x.Usuario.NombreUsuario ==
usuario
select new { x.UsuarioId }).Count();
return res > 0;

/----------------------------------------------------------

public IEnumerable UsuarionSumaDuracionConexiones()


{
ArrayList salida = new ArrayList();
var res = from x in db.ConexionSet
where x.UsuarioCategoria.Conexion.Count > 0
group x by x.UsuarioCategoria.Usuario.NombreUsuario into
grupos
select new
{
Nombre = grupos.Key,
Tiempo = (from y in db.ConexionSet
where y.UsuarioCategoria.Usuario.NombreUsuario
== grupos.Key
select y.Duracion).Sum()
} into parcial
orderBy parcial.Tiempo ascending
select new
{
Nombre = parcial.Nombre,
Tiempo = parcial.Tiempo
};
foreach(var x in res)
{
string val = x.Nombre + "; Duraci�n: " + x.Tiempo;
salida.Add(val);
}
return salida;
}

/----------------------------------------------------------

public IEnumerable UsuarionSumaDuracionConexionesNulos()


{
ArrayList salida = new ArrayList();
var resA = from x in db.ConexionSet
where x.UsuarioCategoria.Conexion.Count > 0
group x by x.UsuarioCategoria.Usuario.NombreUsuario into
grupos
select new
{
Nombre = grupos.Key,
Tiempo = (from y in db.ConexionSet
where y.UsuarioCategoria.Usuario.NombreUsuario
== grupos.Key
select y.Duracion).Sum()
} into parte
orderby parte.Tiempo descending
select new { Nombre = parte.Nombre, Tiempo = parte.Tiempo };
var resB = from y in db.UsuarioSet
where y.UsuarioCategoria.Count == 0
select new { Nombre = y.NombreUsuario, Tiempo = 0 };

var res = resA.Union(resB);


var f = from x in res
orderby x.Tiempo ascending
select new {Nombre = x.Nombre, Tiempo = x.Tiempo };
foreach(var c in f)
{
salida.Add(c);
}
return salida;
}

/----------------------------------------------------------

public IEnumerable ListaCategoriasUsuario(string usuario)


{
ArrayList salida = new ArrayList();
var res = from x in db.UsuarioCategoriaSet
where x.Usuario.NombreUsuario == usuario
select new {ID = x.Id, Categoria =
x.Categoria.NombreCategoria, Aplicaci�n =
x.Categoria.Aplicacion.NombreAplicacion };
foreach(var x in res)
{
string sal = "; Categoria: " + x.Categoria + "; Aplicacion: " +
x.Aplicaci�n;
salida.Add(sal);
}
return salida;
}

/-----------------------------------------------------------

public IEnumerable ListaCategoriasUsuario(string categoria, string aplicacion)


{
ArrayList salida = new ArrayList();
var resultado = from x in db.UsuarioCategoriaSet
where x.Categoria.NombreCategoria == categoria &
x.Categoria.Aplicacion.NombreAplicacion == aplicacion
select new {ID = x.Usuario.Id, Nombre =
x.Usuario.NombreUsuario };
foreach(var x in resultado)
{
string sal = "ID: " + x.ID + "; Nombre: " + x.Nombre;
salida.Add(sal);
}
return salida;
}

/-----------------------------------------------------------

public IEnumerable UsuarionSumaDuracionMayorMedia()


{
ArrayList salida = new ArrayList();
var res = from x in db.ConexionSet
where x.UsuarioCategoria.Conexion.Count > 0
group x by x.UsuarioCategoria.Usuario.NombreUsuario into
grupos
select new
{
Nombre = grupos.Key,
Tiempo = (from y in db.ConexionSet
where y.UsuarioCategoria.Usuario.NombreUsuario
== grupos.Key
select y.Duracion).Sum()
} into parcial
where parcial.Tiempo > (from x in db.ConexionSet select
x.Duracion).Average()
select new
{
Nombre = parcial.Nombre,
Tiempo = parcial.Tiempo
};
foreach(var x in res)
{
salida.Add(x);
}
return salida;
}

/-----------------------------------------------------------

public IEnumerable AppMasUtilizadas()


{
ArrayList salida = new ArrayList();
var res = from x in db.UsuarioCategoriaSet
group x.Categoria.Aplicacion by
x.Categoria.Aplicacion.NombreAplicacion into grupos
select new
{
Nombre = grupos.Key,
Tiempo = (from y in db.ConexionSet
where
y.UsuarioCategoria.Categoria.Aplicacion.NombreAplicacion == grupos.Key
select y.Duracion).Sum()
};
foreach(var x in res)
{
string val = x.Nombre + "; Tiempo: " + x.Tiempo;
salida.Add(val);
}
return salida;
}

También podría gustarte