//public string[] ObtenerFunciones() //{ // CNTSEntities db = new CNTSEntities(); // IdentityPersonalizado Ident = (IdentityPersonalizado)HttpContext.Current.User.Identity; // if (Ident == null) // { // return null; // } // int id_usuario = Ident.Id_establecimiento; // //Encontrar los roles que tiene el usuario // string sql = "select id_rol from c_rol_usuario where id_usuario = " + id_usuario; // var roles = db.Database.SqlQuery<int>(sql).ToArray(); // //Encontrar cada funcion que tienen los roles // int[] funciones = new int[] { }; // IEnumerable<int> union = funciones; // foreach (int rol in roles) // { // sql= "select id_funcion from c_funcion_rol where id_rol = " + rol; // var fns = db.Database.SqlQuery<int>(sql).ToArray(); // union = union.Union(fns); // } // //Encontrar el nombre a partir de cada id // funciones = union.ToArray(); // int nfunciones = funciones.Length; // string[] resultado = new string[nfunciones]; // for (int i = 0; i < nfunciones; i++) // { // c_funcion c_funcion = db.c_funcion.Find(funciones[i]); // resultado[i] = c_funcion.cl_funcion; // } // return resultado; //} //public string[] ObtenerFunciones(int id) //{ // CNTSEntities db = new CNTSEntities(); // int id_usuario = id; // //Encontrar los roles que tiene el usuario // string sql = "select id_rol from c_rol_usuario where id_usuario = " + id_usuario; // var roles = db.Database.SqlQuery<int>(sql).ToArray(); // //Encontrar cada funcion que tienen los roles // int[] funciones = new int[] { }; // IEnumerable<int> union = funciones; // foreach (int rol in roles) // { // sql = "select id_funcion from c_funcion_rol where id_rol = " + rol; // var fns = db.Database.SqlQuery<int>(sql).ToArray(); // union = union.Union(fns); // } // //Encontrar el nombre a partir de cada id // funciones = union.ToArray(); // int nfunciones = funciones.Length; // string[] resultado = new string[nfunciones]; // for (int i = 0; i < nfunciones; i++) // { // c_funcion c_funcion = db.c_funcion.Find(funciones[i]); // resultado[i] = c_funcion.cl_funcion; // } // return resultado; //} public int IdFuncion(string _funcion) { CNTSEntities db = new CNTSEntities(); c_funcion funcion = db.c_funcion.Where(f => f.cl_funcion == _funcion).First(); return(funcion.id_funcion); }
public string[] ObtenerFunciones(int id) { CNTSEntities db = new CNTSEntities(); int id_usuario = id; //Encontrar los roles que tiene el usuario string sql = "select id_rol from c_rol_usuario where id_usuario = " + id_usuario; var roles = db.Database.SqlQuery <int>(sql).ToArray(); //Encontrar cada funcion que tienen los roles int[] funciones = new int[] { }; IEnumerable <int> union = funciones; foreach (int rol in roles) { sql = "select id_funcion from c_funcion_rol where id_rol = " + rol; var fns = db.Database.SqlQuery <int>(sql).ToArray(); union = union.Union(fns); } //Encontrar el nombre a partir de cada id funciones = union.ToArray(); int nfunciones = funciones.Length; string[] resultado = new string[nfunciones]; for (int i = 0; i < nfunciones; i++) { c_funcion c_funcion = db.c_funcion.Find(funciones[i]); resultado[i] = c_funcion.cl_funcion; } return(resultado); }
public override MembershipUser GetUser(string username, bool userIsOnline) { using (var db = new CNTSEntities()) { var user = db.c_usuario.FirstOrDefault(o => o.email_principal == username); return(user == null ? null : new UsuarioMembership(user)); } }
public override MembershipUser GetUser(string username, bool userIsOnline) { using (var db = new CNTSEntities()) { var user = db.c_establecimiento.FirstOrDefault(o => o.codigo_establecimiento == username); return(user == null ? null : new UsuarioMembership(user)); } }
public override bool ValidateUser(string username, string password) { using (var db = new CNTSEntities()) { var pass = SeguridadUtilidades.SHA256Encripta(password); if (db.c_usuario.Any(o => o.password == pass && o.email_principal == username && (o.esta_activo || o.es_super_usuario))) { var user = db.c_usuario.Where(u => u.email_principal == username).First(); var UltimoAcceso = user.fe_ultimo_acceso ?? DateTime.Now; HttpContext.Current.Application["UltimoAcceso"] = UltimoAcceso.ToString(); //modificar fecha de ultimo ingreso cuando un usuario entre al sistema user.fe_ultimo_acceso = DateTime.Now; db.SaveChanges(); //Si el usuario es super usuario, confirmar con true if (user.es_super_usuario) { //modificar fecha de ultimo ingreso cuando un usuario entre al sistema user.fe_ultimo_acceso = DateTime.Now; db.SaveChanges(); return(true); } //si el usuario esta bloqueado, retornar false if (user.id_estatus_usuario == 4) { return(false); } //Verificar si la (fecha actual - la fecha del ultimo acceso) > BloqueoNoIngreso double segundosBNI = Utilidades.Utilidades.SegundosBloqueoNoIngreso(); if (segundosBNI > -1) { bool bloqueo = -((DateTime)user.fe_ultimo_acceso).Subtract(UltimoAcceso).TotalSeconds + segundosBNI <= 0; //en caso de que el tiempo de desconexion sea mayor al tiempo de bloqueo por no ingreso //El usuario pasara a estar inactivo y se mostrara un mensaje que le informará que debe comunicarse //Con el administrador if (bloqueo) { user.esta_activo = false; user.id_estatus_usuario = 4; db.SaveChanges(); return(false); } } return(true); } else { return(false); } } }