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