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; } } }