using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data;
using System.Web.Security;
public partial class Administracao_RH_Colaborador_Formulario : System.Web.UI.Page
{
public Intranet.Users intranetUser;
public int nivelPermissao = int.MaxValue;
public string menu = "";
protected void Page_Load(object sender, EventArgs e)
{
/* ================================================================================= */
// UTILIZADOR AUTENTICADO
intranetUser = (Intranet.Users)Session["intranetUser"];
/* ================================================================================= */
// NÍVEL DE PERMISSÃO
menu = Intranet.Sistema.Menu(Request.ServerVariables["url"]);
nivelPermissao = intranetUser.NivelPermissao(menu);
/* ================================================================================= */
if (nivelPermissao <= Intranet.Sistema.Permissoes.Ler)
{
string status = Request.QueryString["status"];
string id = Request.QueryString["id"];
int _id = 0;
/* ============================================================================= */
/* ============================================================================= */
// MENUS
if (status.CompareTo("adicionar") == 0)
{
lbGravar.Visible = true;
lbGravarSair.Visible = true;
}
if (status.CompareTo("editar") == 0)
{
lbGravar.Visible = true;
lbGravarSair.Visible = true;
lbGravarNovo.Visible = true;
// ID do conteúdo a editar
if (id != null)
{
_id = Convert.ToInt16(id);
}
// LISTAGEM DE OPÇÕES PARA O COLABORADOR
divOpcoes.Visible = true;
}
if (!IsPostBack)
{
/* ========================================================================= */
/* ========================================================================= */
// PREENCHIMENTO DAS DROPDOWNLIST
Intranet.Conteudos.DDL.Preencher(ref ddlPerfil, "sys_perfil", "nome", "nome");
/* ========================================================================= */
/* ========================================================================= */
// PREENCHIMENTO DOS DADOS
if (status != null)
{
/* ===================================================================== */
/* ===================================================================== */
// EDITAR CONTEÚDO
if (status.CompareTo("editar") == 0)
{
// Retirar a obrigatoriedade para a passowrd para o editar
// Mas adiciona-a ao grupValidation do gravar novo
rfvPassword.Enabled = false;
DataTable dtConteudo = Intranet.Administracao.Colaborador.Detalhes(_id);
if (dtConteudo.Rows.Count > 0)
{
/* ============================================================= */
/* ALTERAR */
tbNome.Text = dtConteudo.Rows[0]["nome"].ToString();
tbAbreviatura.Text = dtConteudo.Rows[0]["abreviatura"].ToString();
tbNumero.Text = dtConteudo.Rows[0]["numero"].ToString();
tbMorada1.Text = dtConteudo.Rows[0]["morada1"].ToString();
tbMorada2.Text = dtConteudo.Rows[0]["morada2"].ToString();
string[] codigopostal = Intranet.Criptografia.Desencriptar(dtConteudo.Rows[0]["codigopostal"].ToString()).Split(new char[] { '-' });
tbCodigoPostal1.Text = codigopostal[0];
if (codigopostal.Length == 2)
{
tbCodigoPostal2.Text = codigopostal[1];
}
tbLocalidade.Text = dtConteudo.Rows[0]["localidade"].ToString();
tbConcelho.Text = dtConteudo.Rows[0]["concelho"].ToString();
tbDistrito.Text = dtConteudo.Rows[0]["distrito"].ToString();
tbPais.Text = dtConteudo.Rows[0]["pais"].ToString();
tbBI.Text = dtConteudo.Rows[0]["identificacao"].ToString();
tbNIF.Text = dtConteudo.Rows[0]["contribuinte"].ToString();
tbNISS.Text = dtConteudo.Rows[0]["niss"].ToString();
tbNIB.Text = dtConteudo.Rows[0]["nib"].ToString();
tbBanco.Text = dtConteudo.Rows[0]["banco"].ToString();
tbDataNascimento.Text = dtConteudo.Rows[0]["data_nascimento"].ToString().CompareTo("0000.00.00") == 0 ? "" : dtConteudo.Rows[0]["data_nascimento"].ToString();
ddlEstadoCivil.SelectedValue = dtConteudo.Rows[0]["estadocivil"].ToString();
tbDependentes.Text = dtConteudo.Rows[0]["ndependentes"].ToString();
tbHabilitacoes.Text = dtConteudo.Rows[0]["habilitacoes"].ToString();
tbDataAdmissao.Text = dtConteudo.Rows[0]["data_admissao"].ToString().CompareTo("0000.00.00") == 0 ? "" : dtConteudo.Rows[0]["data_admissao"].ToString();
tbFuncao.Text = dtConteudo.Rows[0]["funcao"].ToString();
tbCustoHora.Text = dtConteudo.Rows[0]["custo_hora"].ToString().Replace(",", ".");
tbEmail.Text = dtConteudo.Rows[0]["email"].ToString();
tbExtensao.Text = dtConteudo.Rows[0]["extensao"].ToString();
tbTelefone.Text = dtConteudo.Rows[0]["telefone"].ToString();
tbTelemovel.Text = dtConteudo.Rows[0]["telemovel"].ToString();
tbIP.Text = dtConteudo.Rows[0]["ip"].ToString();
tbLogin.Text = Intranet.Criptografia.Desencriptar(dtConteudo.Rows[0]["login"].ToString());
//tbPassword.Text = dtConteudo.Rows[0]["password"].ToString();
tbObservacao.Text = dtConteudo.Rows[0]["observacao"].ToString().Replace("
", "\r\n");
// FOTO
hlApagarFoto.NavigateUrl = "javascript:new Documentos('foto').Apagar('/Documentacao/Colaboradores/" + dtConteudo.Rows[0]["id"] + "', 'Foto.jpg');";
FileInfo foto = new FileInfo(@Request.ServerVariables["APPL_PHYSICAL_PATH"] + "Documentacao\\Colaboradores\\" + dtConteudo.Rows[0]["id"] + "\\Foto.jpg");
if (foto.Exists)
{
imgFoto.ImageUrl = "/Documentacao/Colaboradores/" + dtConteudo.Rows[0]["id"] + "/Foto.jpg";
}
else
{
imgFoto.ImageUrl = "/Imagens/Icons/Utilizador/100x75.png";
hlApagarFoto.Visible = false;
}
imgFoto.AlternateText = tbNome.Text;
/* ============================================================= */
/* ============================================================= */
foreach (ListItem perfil in ddlPerfil.Items)
{
if (dtConteudo.Rows[0]["perfil"].ToString().CompareTo(perfil.Text) == 0)
{
ddlPerfil.SelectedValue = perfil.Value;
}
}
ddlSessao.SelectedValue = dtConteudo.Rows[0]["sessiontime"].ToString();
// ACTIVO
if (dtConteudo.Rows[0]["activo"].ToString() == "1")
{
cbActivo.Checked = true;
}
else
{
cbActivo.Checked = false;
}
}
}
/* ===================================================================== */
}
}
// CRIAÇÃO E EDIÇÃO
divCriado.InnerHtml = Intranet.Conteudos.Criado("sys_colaborador", _id);
divEditado.InnerHtml = Intranet.Conteudos.Editado("sys_colaborador", _id);
}
}
/* ========================================================================================= */
/* ========================================================================================= */
protected void Gravar(object sender, EventArgs e)
{
bool gravado = false;
string status = Request.QueryString["status"];
string id = Request.QueryString["id"];
try
{
if (status.CompareTo("adicionar") == 0)
{
gravado = Intranet.Administracao.Colaborador.Gravar(tbNome.Text,
tbAbreviatura.Text,
tbNumero.Text,
tbMorada1.Text,
tbMorada2.Text,
tbCodigoPostal1.Text + "-" + tbCodigoPostal2.Text,
tbLocalidade.Text,
tbConcelho.Text,
tbDistrito.Text,
tbPais.Text,
tbBI.Text,
tbNIF.Text,
tbNISS.Text,
tbNIB.Text,
tbBanco.Text,
tbDataNascimento.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataNascimento.Text,
ddlEstadoCivil.SelectedValue,
Convert.ToInt16(tbDependentes.Text),
tbHabilitacoes.Text,
tbDataAdmissao.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataAdmissao.Text,
tbFuncao.Text,
Convert.ToDecimal(tbCustoHora.Text.Replace(".", ",")),
tbEmail.Text,
tbExtensao.Text,
tbTelefone.Text,
tbTelemovel.Text,
tbIP.Text,
Intranet.Criptografia.Encriptar(tbLogin.Text),
Intranet.Criptografia.Encriptar(tbPassword.Text),
ddlPerfil.SelectedItem.Text,
Convert.ToInt16(ddlSessao.SelectedValue),
tbObservacao.Text.Replace("\r\n", "
"),
Convert.ToInt16(cbActivo.Checked),
intranetUser.ID,
intranetUser.Departamento.ID);
if (gravado)
{
// Verifica qual o último conteúdo gravado e redirecciona para a respectiva página de edição
Response.Redirect(Request.ServerVariables["url"] + "?id=" + Intranet.Conteudos.Ultimo("sys_colaborador") + "&status=editar");
}
else
{
ShowErro("iconLoad", "Erro ao adicionar conteúdo! Verifique os seus dados.");
}
}
if (status.CompareTo("editar") == 0)
{
// CARREGAR FOTO
imgbtUploadFoto_Click(sender, null);
string _password = tbPassword.Text;
if (_password.CompareTo("") != 0)
{
_password = Intranet.Criptografia.Encriptar(_password);
}
gravado = Intranet.Administracao.Colaborador.Editar(Convert.ToInt16(id),
tbNome.Text,
tbAbreviatura.Text,
tbNumero.Text,
tbMorada1.Text,
tbMorada2.Text,
tbCodigoPostal1.Text + "-" + tbCodigoPostal2.Text,
tbLocalidade.Text,
tbConcelho.Text,
tbDistrito.Text,
tbPais.Text,
tbBI.Text,
tbNIF.Text,
tbNISS.Text,
tbNIB.Text,
tbBanco.Text,
tbDataNascimento.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataNascimento.Text,
ddlEstadoCivil.SelectedValue,
Convert.ToInt16(tbDependentes.Text),
tbHabilitacoes.Text,
tbDataAdmissao.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataAdmissao.Text,
tbFuncao.Text,
Convert.ToDecimal(tbCustoHora.Text.Replace(".", ",")),
tbEmail.Text,
tbExtensao.Text,
tbTelefone.Text,
tbTelemovel.Text,
tbIP.Text,
Intranet.Criptografia.Encriptar(tbLogin.Text),
Intranet.Criptografia.Encriptar(tbPassword.Text),
ddlPerfil.SelectedItem.Text,
Convert.ToInt16(ddlSessao.SelectedValue),
tbObservacao.Text.Replace("\r\n", "
"),
Convert.ToInt16(cbActivo.Checked),
intranetUser.ID,
intranetUser.Departamento.ID);
if (!gravado)
{
ShowErro("iconLoad", "Erro ao editar conteúdo! Verifique os seus dados.");
}
}
}
catch (Exception)
{
ShowErro("iconLoad", "Erro ao adicionar conteúdo! Contacte o Administrador do Sistema.");
}
}
/* ========================================================================================= */
/* ========================================================================================= */
protected void GravarSair(object sender, EventArgs e)
{
bool gravado = false;
string status = Request.QueryString["status"];
string id = Request.QueryString["id"];
try
{
if (status.CompareTo("adicionar") == 0)
{
gravado = Intranet.Administracao.Colaborador.Gravar(tbNome.Text,
tbAbreviatura.Text,
tbNumero.Text,
tbMorada1.Text,
tbMorada2.Text,
tbCodigoPostal1.Text + "-" + tbCodigoPostal2.Text,
tbLocalidade.Text,
tbConcelho.Text,
tbDistrito.Text,
tbPais.Text,
tbBI.Text,
tbNIF.Text,
tbNISS.Text,
tbNIB.Text,
tbBanco.Text,
tbDataNascimento.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataNascimento.Text,
ddlEstadoCivil.SelectedValue,
Convert.ToInt16(tbDependentes.Text),
tbHabilitacoes.Text,
tbDataAdmissao.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataAdmissao.Text,
tbFuncao.Text,
Convert.ToDecimal(tbCustoHora.Text.Replace(".", ",")),
tbEmail.Text,
tbExtensao.Text,
tbTelefone.Text,
tbTelemovel.Text,
tbIP.Text,
Intranet.Criptografia.Encriptar(tbLogin.Text),
Intranet.Criptografia.Encriptar(tbPassword.Text),
ddlPerfil.SelectedItem.Text,
Convert.ToInt16(ddlSessao.SelectedValue),
tbObservacao.Text.Replace("\r\n", "
"),
Convert.ToInt16(cbActivo.Checked),
intranetUser.ID,
intranetUser.Departamento.ID);
if (!gravado)
{
ShowErro("iconLoad", "Erro ao adicionar conteúdo! Verifique os seus dados.");
}
}
if (status.CompareTo("editar") == 0)
{
// CARREGAR FOTO
imgbtUploadFoto_Click(sender, null);
string _password = tbPassword.Text;
if (_password.CompareTo("") != 0)
{
_password = Intranet.Criptografia.Encriptar(_password);
}
gravado = Intranet.Administracao.Colaborador.Editar(Convert.ToInt16(id),
tbNome.Text,
tbAbreviatura.Text,
tbNumero.Text,
tbMorada1.Text,
tbMorada2.Text,
tbCodigoPostal1.Text + "-" + tbCodigoPostal2.Text,
tbLocalidade.Text,
tbConcelho.Text,
tbDistrito.Text,
tbPais.Text,
tbBI.Text,
tbNIF.Text,
tbNISS.Text,
tbNIB.Text,
tbBanco.Text,
tbDataNascimento.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataNascimento.Text,
ddlEstadoCivil.SelectedValue,
Convert.ToInt16(tbDependentes.Text),
tbHabilitacoes.Text,
tbDataAdmissao.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataAdmissao.Text,
tbFuncao.Text,
Convert.ToDecimal(tbCustoHora.Text.Replace(".", ",")),
tbEmail.Text,
tbExtensao.Text,
tbTelefone.Text,
tbTelemovel.Text,
tbIP.Text,
Intranet.Criptografia.Encriptar(tbLogin.Text),
Intranet.Criptografia.Encriptar(tbPassword.Text),
ddlPerfil.SelectedItem.Text,
Convert.ToInt16(ddlSessao.SelectedValue),
tbObservacao.Text.Replace("\r\n", "
"),
Convert.ToInt16(cbActivo.Checked),
intranetUser.ID,
intranetUser.Departamento.ID);
if (!gravado)
{
ShowErro("iconLoad", "Erro ao editar conteúdo! Verifique os seus dados.");
}
}
if (gravado)
{
// Redirecciona para a página da Listagem
Response.Redirect(Request.ServerVariables["url"].Replace("formulario.aspx", ""));
}
}
catch (Exception)
{
ShowErro("iconLoad", "Erro ao adicionar conteúdo! Contacte o Administrador do Sistema.");
}
}
/* ========================================================================================= */
/* ========================================================================================= */
protected void GravarNovo(object sender, EventArgs e)
{
bool gravado = false;
try
{
gravado = Intranet.Administracao.Colaborador.Gravar(tbNome.Text,
tbAbreviatura.Text,
tbNumero.Text,
tbMorada1.Text,
tbMorada2.Text,
tbCodigoPostal1.Text + "-" + tbCodigoPostal2.Text,
tbLocalidade.Text,
tbConcelho.Text,
tbDistrito.Text,
tbPais.Text,
tbBI.Text,
tbNIF.Text,
tbNISS.Text,
tbNIB.Text,
tbBanco.Text,
tbDataNascimento.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataNascimento.Text,
ddlEstadoCivil.SelectedValue,
Convert.ToInt16(tbDependentes.Text),
tbHabilitacoes.Text,
tbDataAdmissao.Text.CompareTo("") == 0 ? "0000.00.00" : tbDataAdmissao.Text,
tbFuncao.Text,
Convert.ToDecimal(tbCustoHora.Text.Replace(".", ",")),
tbEmail.Text,
tbExtensao.Text,
tbTelefone.Text,
tbTelemovel.Text,
tbIP.Text,
Intranet.Criptografia.Encriptar(tbLogin.Text),
Intranet.Criptografia.Encriptar(tbPassword.Text),
ddlPerfil.SelectedItem.Text,
Convert.ToInt16(ddlSessao.SelectedValue),
tbObservacao.Text.Replace("\r\n", "
"),
Convert.ToInt16(cbActivo.Checked),
intranetUser.ID,
intranetUser.Departamento.ID);
if (gravado)
{
// Redirecciona para a página da Listagem
Response.Redirect(Request.ServerVariables["url"].Replace("formulario.aspx", ""));
}
else
{
ShowErro("iconLoad", "Erro ao adicionar conteúdo! Verifique os seus dados.");
}
}
catch (Exception)
{
ShowErro("iconLoad", "Erro ao adicionar conteúdo! Contacte o Administrador do Sistema.");
}
}
/* ========================================================================================= */
/* ========================================================================================= */
///
/// Mostra mensagem de erro
///
/// DIV onde o erro irá aparecer
/// Mensagem de erro
protected void ShowErro(string Area, string Mensagem)
{
string script = "";
if (!Page.ClientScript.IsStartupScriptRegistered("ERRO"))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "ERRO", script);
}
}
/* ========================================================================================= */
/* ========================================================================================= */
///
/// Carregamento de fotos dos colaboradores
///
///
///
protected void imgbtUploadFoto_Click(object sender, ImageClickEventArgs e)
{
string id = Request.QueryString["id"];
// VALIDAR PASTA DE DESTINO
DirectoryInfo destino = new DirectoryInfo(@Request.ServerVariables["APPL_PHYSICAL_PATH"] + "Documentacao\\Colaboradores\\" + id);
if (!destino.Exists)
{
destino.Create();
}
// CARREGAR FOTO
if (fupFoto.FileName.Length > 0)
{
fupFoto.SaveAs(@Request.ServerVariables["APPL_PHYSICAL_PATH"] + "Documentacao\\Colaboradores\\" + id + "\\Foto.jpg"); // Altera apenas a extenção da foto //+ fupFoto.FileName.Substring(fupFoto.FileName.LastIndexOf("."))
// MOSTRA A FOTO NO LADO DIREITO DA FICHA DO COLABORADOR
imgFoto.ImageUrl = "/Documentacao/Colaboradores/" + id + "/Foto.jpg"; // + fupFoto.FileName.Substring(fupFoto.FileName.LastIndexOf("."));
hlApagarFoto.Visible = true;
}
}
}