示例#1
0
        /// <summary>
        /// Devuelve el estado de la sesion de un usuario: Si existe una sesion abierta, si no existe o si existe pero no le pertenece al ID de la sesion determinado
        /// </summary>
        /// <param name="id_usuario"></param>
        /// <param name="id_sesion_current"></param>
        /// <returns> 0:Sesion no existe porque está cerrada. 1:Sesion ya existente con el ID de sesion actual. 2:Sesion existente pero no equivalente con el ID actual</returns>
        public int getEstadoSesion(int id_usuario, string id_sesion_current)
        {
            A_USUARIO u = new A_USUARIO();

            Modelos.TB_USUARIO usuario = u.getUsuarioById(id_usuario);

            string id_sesion_old = _context.FN_TB_USUARIO_GetIdSesion(usuario.ID_USUARIO); //Obteniendo id de la sesion activa

            if (!string.IsNullOrEmpty(id_sesion_old))                                      //Si el usuario ya posee un id de sesion anterior
            {
                //Si no esta vacio, entonces se procede a comprobar si la sesion le pertenece al usuario actual o no
                if (id_sesion_old.Equals(id_sesion_current))
                {
                    //Si el ID de la sesion actual y la almacenada es la misma, se notifica
                    return(SESION_EXISTENTE);
                }
                else
                {
                    //Si los ID de la sesion no coinciden, se notifica
                    return(SESION_EXISTENTE_NO_EQUIVALENTE);
                }
            }
            //Sesion no existente
            return(SESION_NO_EXISTENTE);
        }