using System;
using System.Collections.Generic;
using System.Web;
using MySQL;
using System.Data;
using System.Web.Configuration;
using System.Web.UI.WebControls;
using System.Globalization;
namespace Intranet
{
///
/// Área de administração
///
public class Administracao
{
public Administracao()
{
//
// TODO: Add constructor logic here
//
}
///
/// Colaboradores
///
public class Colaborador
{
///
/// Listagem de todos os colaboradores
///
/// DataTable
public static DataTable Listagem()
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM sys_colaborador "
+ "ORDER BY nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Listagem de todos os colaboradores
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM sys_colaborador "
+ "ORDER BY nome "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de colaboradores
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM sys_colaborador "
+ "ORDER BY nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de um detarminado colaborador
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, createuser, createdep, createdata, edituser, editdep, editdata, activo, "
+ " nome, nomecompleto, abreviatura, numero, "
+ " identificacao, contribuinte, niss, "
+ " nib, banco, "
+ " morada1, morada2, codigopostal, localidade, concelho, distrito, pais, telefone, telemovel, "
+ " estadocivil, ndependentes, habilitacoes, "
+ " funcao, custo_hora, "
+ " DATE_FORMAT(data_admissao, '%Y.%m.%d') AS data_admissao, "
+ " observacao, "
+ " login, password, "
+ " perfil, email, "
+ " DATE_FORMAT(data_nascimento, '%Y.%m.%d') AS data_nascimento, "
+ " ip, extensao, sessiontime, "
+ " observacao, "
+ " CONCAT(CONCAT('/Documentacao/Colaboradores/', id), '/') AS foto "
+ "FROM sys_colaborador "
+ "WHERE id=" + Id + " "
+ "ORDER BY nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar novo colaborador
///
/// IP do colaborador
/// Login do colaborador
/// Password do colaborador (encriptado)
/// Perfíl do colaborador
/// Tempo da sessão
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Nome, string Abreviatura, string NumeroMecanografico,
string Morada_1, string Morada_2, string CodicoPostal, string Localidade, string Concelho, string Distrito, string Pais,
string BI, string NIF, string NISS,
string NIB, string Banco,
string DataNascimento, string EstadoCivil, int NDependentes,
string Habilitacoes, string DataAdmissao, string Funcao, decimal CustoHora,
string Email, string Extensao, string Telefone, string Telemovel, string IP,
string Login, string Password,
string Perfil, int Sessao,
string Observacao,
int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
// VERIFICAR LOGIN DUPLICADO
if (ValidarLogin(0, Login))
{
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO sys_colaborador(nome, abreviatura, numero, "
+ " identificacao, contribuinte, niss, "
+ " nib, banco, "
+ " morada1, morada2, codigopostal, localidade, concelho, distrito, pais, "
+ " estadocivil, ndependentes, "
+ " habilitacoes, funcao, custo_hora, data_admissao, "
+ " email, data_nascimento, extensao, telefone, telemovel, ip, "
+ " login, password, "
+ " perfil, sessiontime, "
+ " observacao, "
+ " activo, createuser, createdep, createdata) "
+ "VALUES ('" + Nome + "',"
+ " '" + Abreviatura + "',"
+ " '" + NumeroMecanografico + "',"
+ " '" + BI + "',"
+ " '" + NIF + "',"
+ " '" + NISS + "',"
+ " '" + NIB + "',"
+ " '" + Banco + "',"
+ " '" + Morada_1 + "',"
+ " '" + Morada_2 + "',"
+ " '" + CodicoPostal + "',"
+ " '" + Localidade + "',"
+ " '" + Concelho + "',"
+ " '" + Distrito + "',"
+ " '" + Pais + "',"
+ " '" + EstadoCivil + "',"
+ " " + NDependentes + ","
+ " '" + Habilitacoes + "',"
+ " '" + Funcao + "',"
+ " '" + CustoHora.ToString().Replace(",", ".") + "',"
+ " '" + DataNascimento + "',"
+ " '" + Email + "',"
+ " '" + DataAdmissao + "',"
+ " '" + Extensao + "',"
+ " '" + Telefone + "',"
+ " '" + Telemovel + "',"
+ " '" + IP + "',"
+ " '" + Login + "',"
+ " '" + Password + "',"
+ " '" + Perfil + "',"
+ " " + Sessao + ","
+ " '" + Observacao + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
}
return gravado;
}
///
/// Editar colaborador
///
/// Id do conteúdo a editar
/// Login do colaborador
/// Password do colaborador (encriptado)
/// Perfíl do colaborador
/// Tempo da sessão
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Nome, string Abreviatura, string NumeroMecanografico,
string Morada_1, string Morada_2, string CodicoPostal, string Localidade, string Concelho, string Distrito, string Pais,
string BI, string NIF, string NISS,
string NIB, string Banco,
string DataNascimento, string EstadoCivil, int NDependentes,
string Habilitacoes, string DataAdmissao, string Funcao, decimal CustoHora,
string Email, string Extensao, string Telefone, string Telemovel, string IP,
string Login, string Password,
string Perfil, int Sessao,
string Observacao,
int Activo, int EditUser, int EditDep)
{
bool editado = false;
// VERIFICAR LOGIN DUPLICADO
if (ValidarLogin(Id, Login))
{
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
if (Criptografia.Desencriptar(Password).CompareTo("") != 0)
{
// Alteração da password (entre outros campos)
sqlInfo.Query = "UPDATE sys_colaborador "
+ "SET nome ='" + Nome + "',"
+ " abreviatura ='" + Abreviatura + "',"
+ " numero ='" + NumeroMecanografico + "',"
+ " identificacao ='" + BI + "',"
+ " contribuinte ='" + NIF + "',"
+ " niss ='" + NISS + "',"
+ " nib ='" + NIB + "',"
+ " banco ='" + Banco + "',"
+ " morada1 ='" + Morada_1 + "',"
+ " morada2 ='" + Morada_2 + "',"
+ " codigopostal ='" + CodicoPostal + "',"
+ " localidade ='" + Localidade + "',"
+ " concelho ='" + Concelho + "',"
+ " distrito ='" + Distrito + "',"
+ " pais ='" + Pais + "',"
+ " estadocivil ='" + EstadoCivil + "',"
+ " ndependentes = " + NDependentes + ","
+ " habilitacoes ='" + Habilitacoes + "',"
+ " funcao ='" + Funcao + "',"
+ " custo_hora ='" + CustoHora.ToString().Replace(",", ".") + "',"
+ " data_admissao ='" + DataAdmissao + "',"
+ " email ='" + Email + "',"
+ " data_nascimento ='" + DataNascimento + "',"
+ " extensao ='" + Extensao + "',"
+ " telefone ='" + Telefone + "',"
+ " telemovel ='" + Telemovel + "',"
+ " ip ='" + IP + "',"
+ " login ='" + Login + "',"
+ " password ='" + Password + "',"
+ " perfil ='" + Perfil + "',"
+ " sessiontime = " + Sessao + ","
+ " observacao ='" + Observacao + "',"
+ " activo = " + Activo + ","
+ " edituser = " + EditUser + ","
+ " editdep = " + EditDep + ","
+ " editdata = now() "
+ "WHERE id=" + Id;
}
else
{
// Alteração de qualquer dado EXPCEPTO da password
sqlInfo.Query = "UPDATE sys_colaborador "
+ "SET nome ='" + Nome + "',"
+ " abreviatura ='" + Abreviatura + "',"
+ " numero ='" + NumeroMecanografico + "',"
+ " identificacao ='" + BI + "',"
+ " contribuinte ='" + NIF + "',"
+ " niss ='" + NISS + "',"
+ " nib ='" + NIB + "',"
+ " banco ='" + Banco + "',"
+ " morada1 ='" + Morada_1 + "',"
+ " morada2 ='" + Morada_2 + "',"
+ " codigopostal ='" + CodicoPostal + "',"
+ " localidade ='" + Localidade + "',"
+ " concelho ='" + Concelho + "',"
+ " distrito ='" + Distrito + "',"
+ " pais ='" + Pais + "',"
+ " estadocivil ='" + EstadoCivil + "',"
+ " ndependentes = " + NDependentes + ","
+ " habilitacoes ='" + Habilitacoes + "',"
+ " funcao ='" + Funcao + "',"
+ " custo_hora ='" + CustoHora.ToString().Replace(",", ".") + "',"
+ " data_admissao ='" + DataAdmissao + "',"
+ " email ='" + Email + "',"
+ " data_nascimento ='" + DataNascimento + "',"
+ " extensao ='" + Extensao + "',"
+ " telefone ='" + Telefone + "',"
+ " telemovel ='" + Telemovel + "',"
+ " ip ='" + IP + "',"
+ " login ='" + Login + "',"
+ " perfil ='" + Perfil + "',"
+ " sessiontime = " + Sessao + ","
+ " observacao ='" + Observacao + "',"
+ " activo = " + Activo + ","
+ " edituser = " + EditUser + ","
+ " editdep = " + EditDep + ","
+ " editdata = now() "
+ "WHERE id=" + Id;
}
editado = sqlInfo.Write();
sqlInfo.closeConnection();
}
return editado;
}
///
/// Verifica a duplicação de logins
///
/// ID do user em caso de edição. 0 (zero) caso seja um novo utilizador.
/// Login a verificar
/// True se o login for válido
private static Boolean ValidarLogin(int Id, string Login)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id FROM sys_colaborador WHERE login='" + Login + "'";
if (Id != 0)
{
sqlInfo.Query = sqlInfo.Query
+ " AND id != " + Id;
}
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
if (dtInfo.Rows.Count > 0)
{
// LOGIN EXISTENTE
return false;
}
else
{
// NOVO LOGIN
return true;
}
}
///
/// Alteração do campo activo
///
/// Id da empresa
/// Novo estado para o campo activo
/// Id do colaborador que edita o conteúdo
/// Id do departamento que edita o conteúdo
/// True ou false
public static Boolean Activar(int Id, int Estado, int Colaborador, int Departamento)
{
bool activar = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE sys_colaborador "
+ "SET activo=" + Estado + ", "
+ " edituser=" + Colaborador + ", "
+ " editdep=" + Departamento + ", "
+ " editdata=now() "
+ "WHERE id=" + Id;
activar = sqlInfo.Write();
sqlInfo.closeConnection();
return activar;
}
///
/// Alteração de password
///
/// ID do colaborador
/// Nova password
/// True ou False
public static Boolean Password(int Id, string Password, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
// Alteração da password
sqlInfo.Query = "UPDATE sys_colaborador "
+ "SET password='" + Password + "',"
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
///
/// Cada colaborador pode petencer a mais que um departamento
///
public class Departamento
{
///
/// Listagem de departamentos a que o colaborador pertence
///
/// Id do colaborador
/// DataTable
public static DataTable Listagem(int Colaborador)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT cd.*, d.id AS departamentoid, d.nome, d.abreviatura, d.email "
+ "FROM sys_colaborador_departamento cd, sys_departamento d "
+ "WHERE d.id=cd.departamentoid "
+ " AND cd.colaboradorid=" + Colaborador + " "
+ "ORDER BY d.nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Atribuição de departamentos a um colaborador
///
/// Id do colaborador
/// Id do departamento
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// Retorna uma string com os campos do departamento adicionado ao colaborador [id, abreviatura, nome, email]
public static string Adicionar(int Colaborador, int Departamento, int CreateUser, int CreateDep)
{
string _departamento;
DataTable _departamento_adicionado;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
// Verificar se o Colaborador já existe neste Departaemnto
sqlInfo.Query = "SELECT * "
+ "FROM sys_colaborador_departamento "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND departamentoid=" + Departamento;
if (sqlInfo.Read().Rows.Count == 0)
{
sqlInfo.Query = "INSERT INTO sys_colaborador_departamento(colaboradorid, departamentoid, activo, createuser, createdep, createdata) "
+ "VALUES (" + Colaborador + ","
+ " " + Departamento + ","
+ " 1,"
+ " " + CreateUser + ","
+ " " + CreateDep + ","
+ " now())";
sqlInfo.Write();
// Verificar dados inseridos
sqlInfo.Query = "SELECT cd.id, d.abreviatura, d.nome, d.email "
+ "FROM sys_colaborador_departamento cd, sys_departamento d "
+ "WHERE d.id=cd.departamentoid "
+ " AND cd.colaboradorid=" + Colaborador + " "
+ " AND cd.departamentoid=" + Departamento;
_departamento_adicionado = sqlInfo.Read();
if (_departamento_adicionado.Rows.Count > 0)
{
_departamento = _departamento_adicionado.Rows[0]["id"].ToString() + "\\s"
+ _departamento_adicionado.Rows[0]["abreviatura"].ToString() + "\\s"
+ _departamento_adicionado.Rows[0]["nome"].ToString() + "\\s"
+ _departamento_adicionado.Rows[0]["email"].ToString();
}
else
{
_departamento = "";
}
}
else
{
// Colaborador já pertence ao Departamento
_departamento = "";
}
return _departamento;
}
}
///
/// Atribuição de dias de férias aos colaboradores
///
public class Ferias
{
///
/// Listagem dos dias de férias atribuidos a um colaborador
///
/// Id do colaborador
/// DataTable
public static DataTable Listagem(int Colaborador)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, dias, ano, descricao, activo "
+ "FROM rh_ferias_dias "
+ "WHERE colaboradorid=" + Colaborador + " "
+ "ORDER BY ano DESC";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Atribuição de dias de férias a um colaborador
///
/// Id do colaborador
/// Dias de férias a adicionar ao colocaborador (valor positivo ou negativo)
/// Ano de atribuição dos dias
/// Descritivo para a atribuição
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// Retorna uma string com os campos dos dias de férias adicionados ao colaborador [id, dias, ano, descricao]
public static string Adicionar(int Colaborador, decimal Dias, int Ano, string Descricao, int CreateUser, int CreateDep)
{
string _ferias;
DataTable _ferias_adicionadas;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO rh_ferias_dias(colaboradorid, dias, ano, descricao, activo, createuser, createdep, createdata) "
+ "VALUES ( " + Colaborador + ","
+ " '" + Dias.ToString().Replace(",", ".") + "',"
+ " " + Ano + ","
+ " '" + Descricao + "',"
+ " 1,"
+ " " + CreateUser + ","
+ " " + CreateDep + ","
+ " now())";
sqlInfo.Write();
// Verificar dados inseridos
sqlInfo.Query = "SELECT id, dias, ano, descricao "
+ "FROM rh_ferias_dias "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND dias='" + Dias.ToString().Replace(",", ".") + "' "
+ " AND ano=" + Ano + " "
+ " AND descricao='" + Descricao + "'";
_ferias_adicionadas = sqlInfo.Read();
if (_ferias_adicionadas.Rows.Count > 0)
{
decimal dias = Convert.ToDecimal(_ferias_adicionadas.Rows[0].ItemArray[1].ToString());
_ferias = _ferias_adicionadas.Rows[0].ItemArray[0].ToString() + "\\s"
+ Math.Round(dias, 1) + "\\s"
+ _ferias_adicionadas.Rows[0].ItemArray[2].ToString() + "\\s"
+ _ferias_adicionadas.Rows[0].ItemArray[3].ToString();
}
else
{
_ferias = "";
}
return _ferias;
}
}
///
/// Atribuição de horas ao banco de horas do colaborador
///
public class BancoHoras
{
///
/// Listagem das horas atribuidos a um colaborador
///
/// Id do colaborador
/// DataTable
public static DataTable Listagem(int Colaborador)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, horas, "
+ " DATE_FORMAT(mes, '%Y') AS ano, "
+ " DATE_FORMAT(mes, '%m') AS mes, "
+ " descricao, activo "
+ "FROM rh_ferias_horas "
+ "WHERE colaboradorid=" + Colaborador + " "
+ "ORDER BY mes, ano DESC";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Atribuição de horas a um colaborador
///
/// Id do colaborador
/// Horas a adicionar ao colocaborador (valor positivo ou negativo)
/// Ano de atribuição das horas
/// Mês de atribuição das horas
/// Descritivo para a atribuição
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// Retorna uma string com os campos dos dias de férias adicionados ao colaborador [id, dias, ano, descricao]
public static string Adicionar(int Colaborador, decimal Horas, int Ano, int Mes, string Descricao, int CreateUser, int CreateDep)
{
string _horas;
DataTable _horas_adicionadas;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO rh_ferias_horas(colaboradorid, horas, mes, descricao, activo, createuser, createdep, createdata) "
+ "VALUES ( " + Colaborador + ","
+ " '" + Horas.ToString().Replace(",", ".") + "',"
+ " '" + Ano + "." + Mes + ".01',"
+ " '" + Descricao + "',"
+ " 1,"
+ " " + CreateUser + ","
+ " " + CreateDep + ","
+ " now())";
sqlInfo.Write();
// Verificar dados inseridos
sqlInfo.Query = "SELECT id, horas, "
+ " DATE_FORMAT(mes, '%Y') AS ano, "
+ " DATE_FORMAT(mes, '%c') AS mes, "
+ " descricao "
+ "FROM rh_ferias_horas "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND horas='" + Horas.ToString().Replace(",", ".") + "' "
+ " AND mes='" + Ano + "." + Mes + ".01' "
+ " AND descricao='" + Descricao + "'";
_horas_adicionadas = sqlInfo.Read();
if (_horas_adicionadas.Rows.Count > 0)
{
string[] meses = new string[12] { Resources.Meses.mes1,
Resources.Meses.mes2,
Resources.Meses.mes3,
Resources.Meses.mes4,
Resources.Meses.mes5,
Resources.Meses.mes6,
Resources.Meses.mes7,
Resources.Meses.mes8,
Resources.Meses.mes9,
Resources.Meses.mes10,
Resources.Meses.mes11,
Resources.Meses.mes12 };
decimal horas = Convert.ToDecimal(_horas_adicionadas.Rows[0].ItemArray[1].ToString());
_horas = _horas_adicionadas.Rows[0].ItemArray[0].ToString() + "\\s"
+ Math.Round(horas, 1) + "\\s"
+ _horas_adicionadas.Rows[0].ItemArray[2].ToString() + "\\s"
+ meses[Convert.ToInt16(_horas_adicionadas.Rows[0].ItemArray[3].ToString()) - 1] + "\\s"
+ _horas_adicionadas.Rows[0].ItemArray[4].ToString();
}
else
{
_horas = "";
}
return _horas;
}
}
///
/// Registo de formações dadas aos colaboradores
///
public class Formacao
{
///
/// Listagem de acções a que um colaborador já assistiu
///
/// Id do colaborador
/// DataTable
public static DataTable Listagem(int Colaborador)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, accao, "
+ " DATE_FORMAT(data, '%Y.%m.%d') AS data, "
+ " duracao, objectivo, activo "
+ "FROM rh_formacao "
+ "WHERE colaboradorid=" + Colaborador + " "
+ "ORDER BY data DESC";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Registo de formação assistida por um colaborador
///
/// Id do colaborador
/// Acção de formação frequêntada por um colaborador
/// Data da acção de formação
/// Duração da acção de formação
/// Classificação final à acção de formação
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// Retorna uma string com os campos da acção de formação assistida por um colaborador [id, dias, ano, descricao]
public static string Adicionar(int Colaborador, string Accao, string Data, decimal Duracao, string Objectivo, int CreateUser, int CreateDep)
{
string _formacao;
DataTable _formacao_assistida;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO rh_formacao(colaboradorid, accao, data, duracao, objectivo, activo, createuser, createdep, createdata) "
+ "VALUES ( " + Colaborador + ","
+ " '" + Accao + "',"
+ " '" + Data + "',"
+ " '" + Duracao.ToString().Replace(",", ".") + "',"
+ " '" + Objectivo + "',"
+ " 1,"
+ " " + CreateUser + ","
+ " " + CreateDep + ","
+ " now())";
sqlInfo.Write();
// Verificar dados inseridos
sqlInfo.Query = "SELECT id, accao, "
+ " DATE_FORMAT(data, '%Y.%m.%d') AS data, "
+ " duracao, objectivo, activo "
+ "FROM rh_formacao "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND accao='" + Accao + "' "
+ " AND data='" + Data + "' "
+ " AND duracao='" + Duracao.ToString().Replace(",", ".") + "' "
+ " AND objectivo='" + Objectivo + "'";
_formacao_assistida = sqlInfo.Read();
if (_formacao_assistida.Rows.Count > 0)
{
decimal duracao = Convert.ToDecimal(_formacao_assistida.Rows[0].ItemArray[3].ToString());
_formacao = _formacao_assistida.Rows[0].ItemArray[0].ToString() + "\\s"
+ _formacao_assistida.Rows[0].ItemArray[1].ToString() + "\\s"
+ _formacao_assistida.Rows[0].ItemArray[2].ToString() + "\\s"
+ Math.Round(duracao, 1) + "\\s"
+ _formacao_assistida.Rows[0].ItemArray[4].ToString();
}
else
{
_formacao = "";
}
return _formacao;
}
}
}
///
/// Departamentos
///
public class Departamento
{
///
/// Listagem de todos os departamentos
///
/// DataTable
public static DataTable Listagem()
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT d.*, c.nome AS responsavel "
+ "FROM sys_departamento d LEFT OUTER JOIN sys_colaborador c ON d.responsavelid=c.id "
+ "ORDER BY d.nome, d.abreviatura";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Listagem de todos os departamentos
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT d.*, c.nome AS responsavel "
+ "FROM sys_departamento d LEFT OUTER JOIN sys_colaborador c ON d.responsavelid=c.id "
+ "ORDER BY d.nome, d.abreviatura "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de departamentos
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT d.*, c.nome AS responsavel, "
+ " c.* "
+ "FROM sys_departamento d LEFT OUTER JOIN sys_colaborador c ON d.responsavelid=c.id "
+ "ORDER BY d.nome, d.abreviatura";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de um detarminado departamento
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT d.*, c.nome AS responsavel, c.email AS responsavel_email "
+ "FROM sys_departamento d LEFT OUTER JOIN sys_colaborador c ON d.responsavelid=c.id "
+ "WHERE d.id=" + Id + " "
+ "ORDER BY d.nome, d.abreviatura";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Cada colaborador pode petencer a mais que um departamento
///
public class Colaborador
{
///
/// Listagem de colaboradores de um determinado departamento
///
/// Id do colaborador
/// DataTable
public static DataTable Listagem(int Departamento)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT cd.*, c.* "
+ "FROM sys_colaborador_departamento cd, sys_colaborador c "
+ "WHERE c.id=cd.colaboradorid "
+ " AND cd.departamentoid=" + Departamento + " "
+ "ORDER BY c.nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Atribuição de departamentos a um colaborador
///
/// Id do colaborador
/// Id do departamento
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// Retorna uma string com os campos do departamento adicionado ao colaborador [id, abreviatura, nome, email]
public static string Adicionar(int Colaborador, int Departamento, int CreateUser, int CreateDep)
{
string _departamento;
DataTable _departamento_adicionado;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
// Verificar se o Colaborador já existe neste Departaemnto
sqlInfo.Query = "SELECT * "
+ "FROM sys_colaborador_departamento "
+ "WHERE colaboradorid=" + Colaborador + " "
+ " AND departamentoid=" + Departamento;
if (sqlInfo.Read().Rows.Count == 0)
{
sqlInfo.Query = "INSERT INTO sys_colaborador_departamento(colaboradorid, departamentoid, activo, createuser, createdep, createdata) "
+ "VALUES (" + Colaborador + ","
+ " " + Departamento + ","
+ " 1,"
+ " " + CreateUser + ","
+ " " + CreateDep + ","
+ " now())";
sqlInfo.Write();
// Verificar dados inseridos
sqlInfo.Query = "SELECT cd.id, c.abreviatura, c.nome, c.email "
+ "FROM sys_colaborador_departamento cd, sys_departamento c "
+ "WHERE c.id=cd.colaboradorid "
+ " AND cd.colaboradorid=" + Colaborador + " "
+ " AND cd.departamentoid=" + Departamento;
_departamento_adicionado = sqlInfo.Read();
if (_departamento_adicionado.Rows.Count > 0)
{
_departamento = _departamento_adicionado.Rows[0]["id"].ToString() + "\\s"
+ _departamento_adicionado.Rows[0]["abreviatura"].ToString() + "\\s"
+ _departamento_adicionado.Rows[0]["nome"].ToString() + "\\s"
+ _departamento_adicionado.Rows[0]["email"].ToString();
}
else
{
_departamento = "";
}
}
else
{
// Colaborador já pertence ao Departamento
_departamento = "";
}
return _departamento;
}
}
///
/// Gravar novo departamento
///
/// Nome do departamento
/// Abreviatura do departamento
/// E-mail do departamento
/// ID do responsável
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Nome, string Abreviatura, string Email, int Responsaval, int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO sys_departamento(nome, abreviatura, email, responsavelid, activo, createuser, createdep, createdata) "
+ "VALUES ('" + Nome + "',"
+ " '" + Abreviatura + "',"
+ " '" + Email + "',"
+ " " + Responsaval + " ,"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar departamento
///
/// Id do conteúdo a editar
/// Nome do departamento
/// Abreviatura do departamento
/// E-mail do departamento
/// ID do responsável
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Nome, string Abreviatura, string Email, int Responsaval, int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE sys_departamento "
+ "SET nome='" + Nome + "',"
+ " abreviatura='" + Abreviatura + "',"
+ " email='" + Email + "',"
+ " responsavelid=" + Responsaval + ","
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
///
/// Recursos Humanos
///
public class RH
{
///
/// Ausências
///
public class Ausencias
{
///
/// Listagem de todos os códigos de ausência
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM rh_ausencias_codigo "
+ "ORDER BY codigo "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todos os códigos de ausência
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM rh_ausencias_codigo "
+ "ORDER BY codigo";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de um código de ausência
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, createuser, createdep, createdata, edituser, editdep, editdata, activo, "
+ " codigo "
+ "FROM rh_ausencias_codigo "
+ "WHERE id=" + Id;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar novo Código de ausência
///
/// Código de ausência
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Codigo,
int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO rh_ausencias_codigo(codigo, "
+ " activo, createuser, createdep, createdata) "
+ "VALUES ('" + Codigo + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar Código de ausência
///
/// Id do conteúdo a editar
/// Código de ausência
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Codigo,
int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE rh_ausencias_codigo "
+ "SET codigo='" + Codigo + "',"
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
}
///
/// Viaturas
///
public class Viaturas
{
///
/// Listagem de todas as viaturas
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " marca, modelo, matricula, "
+ " DATE_FORMAT(data_aquisicao, '%Y.%m.%d') AS data_aquisicao, "
+ " km "
+ "FROM viatura "
+ "ORDER BY marca, modelo, data_aquisicao "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todas as viaturas
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " marca, modelo, matricula, "
+ " DATE_FORMAT(data_aquisicao, '%Y.%m.%d') AS data_aquisicao, "
+ " km, "
+ " v.* "
+ "FROM viatura v "
+ "ORDER BY marca, modelo, data_aquisicao";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de uma detarminada viatura
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " marca, modelo, matricula, "
+ " DATE_FORMAT(data_aquisicao, '%Y.%m.%d') AS data_aquisicao, "
+ " km "
+ "FROM viatura "
+ "WHERE id=" + Id + " "
+ "ORDER BY marca, modelo, data_aquisicao";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar nova viatura
///
/// Marca da viatura
/// Modelo da viatura
/// Matrícula da viatura
/// Km's iniciais na data de aquisição
/// Data da aquisição
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Marca, string Modelo, string Matricula, string DataAquisicao, int Km, int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO viatura(marca, modelo, matricula, data_aquisicao, km, activo, createuser, createdep, createdata) "
+ "VALUES ('" + Marca + "',"
+ " '" + Modelo + "',"
+ " '" + Matricula + "',"
+ " '" + DataAquisicao + "',"
+ " " + Km + " ,"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar viatura
///
/// Id do conteúdo a editar
/// Marca da viatura
/// Modelo da viatura
/// Matrícula da viatura
/// Km's iniciais na data de aquisição
/// Data da aquisição
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Marca, string Modelo, string Matricula, string DataAquisicao, int Km, int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE viatura "
+ "SET marca='" + Marca + "',"
+ " modelo='" + Modelo + "',"
+ " matricula='" + Matricula + "',"
+ " data_aquisicao='" + DataAquisicao + "',"
+ " km=" + Km + ","
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
///
/// Economato
///
public class Economato
{
///
/// Listagem de todas os materiais existentes no economato
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " categoria, nome, descricao "
+ "FROM economato "
+ "ORDER BY categoria, nome "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todas os materiais existentes no economato
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " categoria, nome, descricao, "
+ " e.* "
+ "FROM economato e "
+ "ORDER BY categoria, nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de uma detarminada material no economato
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " categoria, nome, descricao "
+ "FROM economato "
+ "WHERE id=" + Id;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar nova viatura
///
/// Nome do material
/// Descrição do material
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Categoria, string Nome, string Descricao, int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO economato(categoria, nome, descricao, activo, createuser, createdep, createdata) "
+ "VALUES ('" + Categoria + "',"
+ " '" + Nome + "',"
+ " '" + Descricao + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar viatura
///
/// Id do conteúdo a editar
/// Nome do material
/// Descrição do material
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Categoria, string Nome, string Descricao, int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE economato "
+ "SET categoria='" + Categoria + "',"
+ " nome='" + Nome + "',"
+ " descricao='" + Descricao + "',"
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
///
/// Listagem de todas as categorias já inseridas no economato para criação de autocomplete
///
/// DataTable
public static DataTable Categorias()
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT DISTINCT(categoria) "
+ "FROM economato "
+ "ORDER BY categoria";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
}
///
/// Edifícios, salas, etc.
///
public class Espacos
{
///
/// Listagem de todas os espacos existentes
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao "
+ "FROM salas "
+ "ORDER BY nome "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todas os espacos existentes
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao, "
+ " s.* "
+ "FROM salas s "
+ "ORDER BY nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de um detarminado espacos
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao "
+ "FROM salas "
+ "WHERE id=" + Id;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar novo espacos
///
/// Nome do espaço
/// Descrição do espaço
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Nome, string Descricao, int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO salas(nome, descricao, activo, createuser, createdep, createdata) "
+ "VALUES ('" + Nome + "',"
+ " '" + Descricao + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar espacos
///
/// Id do conteúdo a editar
/// Nome do espaço
/// Descrição do espaço
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Nome, string Descricao, int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE salas "
+ "SET nome='" + Nome + "',"
+ " descricao='" + Descricao + "',"
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
///
/// IVA
///
public class IVA
{
///
/// Listagem de todos os valores do IVA
///
/// DataTable
public static DataTable Listagem()
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM sys_iva "
+ "ORDER BY valor";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Listagem de todos os valores do IVA
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM sys_iva "
+ "ORDER BY valor "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todos os valores do IVA
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM sys_iva "
+ "ORDER BY valor";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de um detarminado IVA
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, createuser, createdep, createdata, edituser, editdep, editdata, activo, "
+ " valor "
+ "FROM sys_iva "
+ "WHERE id=" + Id + " "
+ "ORDER BY valor";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar novo IVA
///
/// Valor do VIA
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Valor,
int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO sys_iva (valor, "
+ " activo, createuser, createdep, createdata) "
+ "VALUES ('" + Valor + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar valor do IVA
///
/// Id do conteúdo a editar
/// Valor do IVA
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Valor,
int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE sys_iva "
+ "SET valor='" + Valor + "',"
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
///
/// Unidades de Medida
///
public class Metrica
{
///
/// Listagem de todas as unidades de medida
///
/// DataTable
public static DataTable Listagem()
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao "
+ "FROM sys_metrica "
+ "ORDER BY nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Listagem de todas as unidades de medida
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao "
+ "FROM sys_metrica "
+ "ORDER BY nome "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todas as unidades de medida
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao, "
+ " p.* "
+ "FROM sys_metrica p "
+ "ORDER BY nome";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de uma unidade de medida
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, "
+ " createuser, createdep, createdata, "
+ " edituser, editdep, editdata, "
+ " activo, "
+ " nome, descricao "
+ "FROM sys_metrica "
+ "WHERE id=" + Id;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar nova unidade de medida
///
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Nome, string Descricao, int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO sys_metrica(nome, descricao, activo, createuser, createdep, createdata) "
+ "VALUES ('" + Nome + "',"
+ " '" + Descricao + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar unidade de medida
///
/// Id do conteúdo a editar
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Nome, string Descricao, int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE sys_metrica "
+ "SET nome='" + Nome + "',"
+ " descricao='" + Descricao + "',"
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
///
/// Projectos
///
public class Projectos
{
///
/// Listagem de todos os projectos
///
/// DataTable
public static DataTable Listagem()
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM projecto "
+ "ORDER BY nome, ano DESC";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Listagem de todos os projectos
///
/// Número da página a mostrar
/// DataTable
public static DataTable Listagem(int Pagina)
{
DataTable dtInfo = new DataTable();
int offset = Convert.ToInt16(WebConfigurationManager.AppSettings["offset"].ToString());
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM projecto "
+ "ORDER BY nome, ano DESC "
+ "LIMIT " + (Pagina * offset) + ", " + offset;
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Pesquisa de todos os projectos
///
/// DataTable
public static DataTable Pesquisa(string Pesquisa)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT * "
+ "FROM projecto "
+ "ORDER BY nome, ano DESC";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
/* #1 - CONVERTE A PESQUISA NUM ARRAY EM QUE CADA POSIÇÃO CONTEM UM PARALVRA */
string[] _pesquisa = Pesquisa.Split(new char[] { ' ' });
/* #2 - PESQUISA TODAS AS OCURRÊNCIAS DE _pesquisa EM dtInfo. REMOVE DE dtInfo TODAS AS LINHAS QUE NÃO TENHAM PELO MENOS UMA OCURRÊNCIA */
Intranet.Geral.Pesquisa(ref dtInfo, _pesquisa);
return dtInfo;
}
///
/// Mostra o detalhe de um detarminado projecto
///
/// Id do conteúdo a mostrar
/// DataTable
public static DataTable Detalhes(int Id)
{
DataTable dtInfo = new DataTable();
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "SELECT id, createuser, createdep, createdata, edituser, editdep, editdata, activo, "
+ " nome, ano, orcamento, descricao "
+ "FROM projecto "
+ "WHERE id=" + Id + " "
+ "ORDER BY nome, ano DESC";
dtInfo = sqlInfo.Read();
sqlInfo.closeConnection();
return dtInfo;
}
///
/// Gravar novo projecto
///
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Gravar(string Projecto, int Ano, double Orcamento, string Descricao,
int Activo, int CreateUser, int CreateDep)
{
bool gravado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "INSERT INTO projecto(nome, ano, orcamento, descricao, "
+ " activo, createuser, createdep, createdata) "
+ "VALUES ('" + Projecto + "',"
+ " " + Ano + " ,"
+ " '" + Orcamento.ToString().Replace(",", ".") + "',"
+ " '" + Descricao + "',"
+ " " + Activo + " ,"
+ " " + CreateUser + " ,"
+ " " + CreateDep + " ,"
+ " now())";
gravado = sqlInfo.Write();
sqlInfo.closeConnection();
return gravado;
}
///
/// Editar projecto
///
/// Id do conteúdo a editar
/// Activo/Inactivo (1/0)
/// Id de quem cria o conteúdo
/// Departamento de quem cria o conteúdo
/// True ou False
public static Boolean Editar(int Id, string Projecto, int Ano, double Orcamento, string Descricao,
int Activo, int EditUser, int EditDep)
{
bool editado = false;
sql sqlInfo = new sql(WebConfigurationManager.ConnectionStrings["Site"].ConnectionString);
sqlInfo.Query = "UPDATE projecto "
+ "SET nome='" + Projecto + "',"
+ " ano=" + Ano + ","
+ " orcamento='" + Orcamento.ToString().Replace(",", ".") + "',"
+ " descricao='" + Descricao + "',"
+ " activo=" + Activo + ","
+ " edituser=" + EditUser + ","
+ " editdep=" + EditDep + ","
+ " editdata=now() "
+ "WHERE id=" + Id;
editado = sqlInfo.Write();
sqlInfo.closeConnection();
return editado;
}
}
}
}