using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Web.Security; public partial class Catalogo_Familias_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; divArtigos.Visible = false; divArtigosStatus.Visible = true; } if (status.CompareTo("editar") == 0) { lbGravar.Visible = true; lbGravarSair.Visible = true; lbGravarNovo.Visible = true; divArtigos.Visible = true; divArtigosStatus.Visible = false; // ID do conteúdo a editar if (id != null) { _id = Convert.ToInt16(id); } } if (!IsPostBack) { // VERIFICA QUAL O TIPO DE ARTIGO AFIM DESTE SER REMOVIDO DA FAMILIA A PERTENCE */ /* \Tintas\Plásticas\Branco » \Tintas\Plásticas + Branco */ string tipo = "Tipo não pode ser aspas-aspas (string vazia), porque assim não carregará nada na DDL"; DataTable dtConteudo = SiteECom.Catalogo.Familias.Detalhes(_id); if (status.CompareTo("editar") == 0 && dtConteudo.Rows.Count > 0) { tipo = dtConteudo.Rows[0].ItemArray[8].ToString(); // Retira apenas o tipo de todas a familia // \Tintas\Plásticas\BRANCO tipo = tipo.Substring(tipo.LastIndexOf('/') + 1, tipo.Length - tipo.LastIndexOf('/') - 1); } /* ========================================================================= */ /* ========================================================================= */ // PREENCHIMENTO DAS DROPDOWNLIST string _familias = ""; DataTable dtFamilias; dtFamilias = SiteECom.Catalogo.Familias.Listagem("nome"); foreach (DataRow familia in dtFamilias.Rows) { _familias = familia.ItemArray[10].ToString(); try { if (_familias.Substring(_familias.LastIndexOf('/') + 1, tipo.Length).CompareTo(tipo) != 0) { // SÓ ADICIONA A FAMILIA SE ESTA NÃO POSSUIR O TIPO ddlFamilia.Items.Add(new ListItem(_familias, _familias)); } } catch (Exception) { // Dá erro quando o tipo é maior que a familia ddlFamilia.Items.Add(new ListItem(_familias, _familias)); } } /* ========================================================================= */ /* ========================================================================= */ // PREENCHIMENTO DOS DADOS if (status != null) { /* ===================================================================== */ /* ===================================================================== */ // EDITAR CONTEÚDO if (status.CompareTo("editar") == 0) { /* DataTable dtConteudo TEM DE FICAR NO TOPO DESTE CÓDIGO PARA PODER-MOS RETIRAR O TIPO DE ARTIGO DAS FAMILIA A QUE PERTENCE */ /* \Tintas\Plásticas\Branco » \Tintas\Plásticas + Branco */ if (dtConteudo.Rows.Count > 0) { /* ============================================================= */ /* ALTERAR */ tbTipo.Text = tipo; _familias = dtConteudo.Rows[0].ItemArray[8].ToString(); ddlFamilia.SelectedValue = _familias.Substring(0, _familias.LastIndexOf('/')); tbInicio.Text = dtConteudo.Rows[0].ItemArray[11].ToString() == "0000.00.00" ? "" : dtConteudo.Rows[0].ItemArray[11].ToString(); tbFim.Text = dtConteudo.Rows[0].ItemArray[12].ToString() == "0000.00.00" ? "" : dtConteudo.Rows[0].ItemArray[12].ToString(); tbDescricao.Text = dtConteudo.Rows[0].ItemArray[9].ToString(); tbImagem.Text = dtConteudo.Rows[0].ItemArray[10].ToString(); // ACTIVO if (dtConteudo.Rows[0].ItemArray[7].ToString() == "1") { cbActivo.Checked = true; } else { cbActivo.Checked = false; } /* ============================================================= */ /* ============================================================= */ } } /* ===================================================================== */ } } // CRIAÇÃO E EDIÇÃO divCriado.InnerHtml = SiteECom.Conteudos.Criado("catalogo_familia", _id); divEditado.InnerHtml = SiteECom.Conteudos.Editado("catalogo_familia", _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 = SiteECom.Catalogo.Familias.Gravar(tbTipo.Text, ddlFamilia.SelectedValue, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbDescricao.Text, tbImagem.Text, 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=" + SiteECom.Conteudos.Ultimo("catalogo_familia") + "&status=editar"); } else { ShowErro("iconLoad", "Erro ao adicionar conteúdo! Verifique os seus dados."); } } if (status.CompareTo("editar") == 0) { gravado = SiteECom.Catalogo.Familias.Editar(Convert.ToInt16(id), tbTipo.Text, ddlFamilia.SelectedValue, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbDescricao.Text, tbImagem.Text, 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 = SiteECom.Catalogo.Familias.Gravar(tbTipo.Text, ddlFamilia.SelectedValue, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbDescricao.Text, tbImagem.Text, 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) { gravado = SiteECom.Catalogo.Familias.Editar(Convert.ToInt16(id), tbTipo.Text, ddlFamilia.SelectedValue, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbDescricao.Text, tbImagem.Text, 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 = SiteECom.Catalogo.Familias.Gravar(tbTipo.Text, ddlFamilia.SelectedValue, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbDescricao.Text, tbImagem.Text, 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); } } /* ========================================================================================= */ /* ========================================================================================= */ }