using System;
using System.Collections.Generic;
using System.Web;
using MySQL;
using System.Data;
using System.Web.Configuration;
namespace Intranet
{
///
/// Registo de visitas
///
public class Navegacao
{
public Navegacao()
{
//
// TODO: Add constructor logic here
//
}
///
/// Registo de páginas visitadas
///
/// ID da sessão
/// ID do colaborador
/// Nome do colaborador
/// ID do departamento
/// Nome do departamento
/// Link da página visitada
/// Querystring da página visitada
/// Status de acesso
static public void Registo(string UID,
int ColaboradorId, string Colaborador,
int DepartamentoId, string Departamento,
string Link, string QueryString, string Status)
{
sql sqlLogin = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlLogin.Query = "INSERT INTO sys_navegacao(uid, colaboradorid, colaborador, departamentoid, departamento, link, querystring, status, data) "
+ "VALUES ('" + UID + "', "
+ " " + ColaboradorId + ", "
+ " '" + Colaborador + "', "
+ " " + DepartamentoId + ", "
+ " '" + Departamento + "', "
+ " '" + Link + "', "
+ " '" + QueryString + "', "
+ " '" + Status + "', "
+ " now())";
sqlLogin.Write();
}
///
/// Contagem dos menus mais acedido
///
/// ID do colaborador
/// Contagem dos 8 menus mais acedidos por ordem decrescente
static public DataTable MaisAcedidos(int Colaborador)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
// ÚLTIMO MÊS DE ACESSOS
sqlInfo.Query = "SELECT link, COUNT(link) AS contagem "
+ "FROM sys_navegacao "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND link<>'/Default.aspx' "
+ " AND (link LIKE '%/default.aspx' OR link LIKE '%/') "
+ " AND querystring='' "
+ " AND TO_DAYS(data)>TO_DAYS(now())-30 "
+ "GROUP BY link "
+ "ORDER BY contagem DESC "
+ "LIMIT 0, 8";
dtInfo = sqlInfo.Read();
if (dtInfo.Rows.Count == 0)
{
// ÚLTIMOS ACESSOS, caso não tenha havido nenhum acesso no último mês
sqlInfo.Query = "SELECT link, COUNT(link) AS contagem "
+ "FROM sys_navegacao "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND link<>'/Default.aspx' "
+ " AND (link LIKE '%/default.aspx' OR link LIKE '%/') "
+ " AND querystring='' "
+ "GROUP BY link "
+ "ORDER BY contagem DESC "
+ "LIMIT 0, 8";
dtInfo = sqlInfo.Read();
}
sqlInfo.closeConnection();
return dtInfo;
}
}
}