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; using System.Web.Configuration; public partial class Empresas_Comunicacoes_Inc_Conteudos_Formulario : System.Web.UI.UserControl { public Intranet.Users intranetUser; public int nivelPermissao = int.MaxValue; public string menu = ""; public string querystring = ""; 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"].Replace("conteudos.aspx", "")); nivelPermissao = intranetUser.NivelPermissao(menu); /* ================================================================================= */ if (nivelPermissao <= Intranet.Sistema.Permissoes.Ler) { string status = ""; try { status = Request.QueryString["status"]; } catch (Exception) { } 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); } } if (!IsPostBack) { /* ========================================================================= */ /* ========================================================================= */ // PREENCHIMENTO DAS DROPDOWNLIST // POSIÇÕES NA COMUNICAÇÃO foreach (string valor in WebConfigurationManager.AppSettings.AllKeys) { if (valor.StartsWith("comunicacoes_posicao_")) { // comunicacoes_posicao_[VALOR DA POSICAO] // Exmplo: comunicacoes_posicao_1 // Nesta situação só interessa o [VALOR DA POSICAO] que é guardado na base de dados ddlLocal.Items.Add(new ListItem(WebConfigurationManager.AppSettings[valor].ToString(), valor.Replace("comunicacoes_posicao_", ""))); } } // ORDENS for (int i = 1; i <= 20; i++) { ddlOrdem.Items.Add(new ListItem(i.ToString(), i.ToString())); } /* ========================================================================= */ /* ========================================================================= */ // PREENCHIMENTO DOS DADOS if (status != null) { /* ===================================================================== */ /* ===================================================================== */ // EDITAR CONTEÚDO if (status.CompareTo("editar") == 0) { DataTable dtConteudo = Intranet.Empresas.Comunicacoes.Conteudos.Detalhes(_id); if (dtConteudo.Rows.Count > 0) { /* ============================================================= */ /* ALTERAR */ tbTitulo.Text = Server.HtmlDecode(dtConteudo.Rows[0]["titulo"].ToString()); ddlLocal.SelectedValue = dtConteudo.Rows[0]["local"].ToString(); ddlOrdem.SelectedIndex = Convert.ToInt16(dtConteudo.Rows[0]["ordem"].ToString()) - 1; tbInicio.Text = dtConteudo.Rows[0]["data_ini"].ToString() == "0000.00.00" ? "" : dtConteudo.Rows[0]["data_ini"].ToString(); tbFim.Text = dtConteudo.Rows[0]["data_fim"].ToString() == "0000.00.00" ? "" : dtConteudo.Rows[0]["data_fim"].ToString(); tbImagem.Text = dtConteudo.Rows[0]["imagem"].ToString(); tbLink.Text = dtConteudo.Rows[0]["link"].ToString(); tbDesenvolvimento.Text = dtConteudo.Rows[0]["desenvolvimento"].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("empresa_comunicacoes_conteudo", _id); divEditado.InnerHtml = Intranet.Conteudos.Editado("empresa_comunicacoes_conteudo", _id); } } /* ========================================================================================= */ /* ========================================================================================= */ protected void Gravar(object sender, EventArgs e) { bool gravado = false; string status = Request.QueryString["status"]; string newsletter = Request.QueryString["comunicacaoid"]; string id = Request.QueryString["id"]; try { if (status.CompareTo("adicionar") == 0) { gravado = Intranet.Empresas.Comunicacoes.Conteudos.Gravar(Convert.ToInt16(newsletter), ddlLocal.SelectedValue, Server.HtmlEncode(tbTitulo.Text), ddlOrdem.SelectedIndex + 1, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbImagem.Text, tbLink.Text, tbDesenvolvimento.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"] + "?local=" + Request.QueryString["local"] + "&comunicacaoid=" + newsletter + "&id=" + SiteECom.Conteudos.Ultimo("empresa_comunicacoes_conteudo") + "&status=editar"); } else { ShowErro("iconLoad", "Erro ao adicionar conteúdo! Verifique os seus dados."); } } if (status.CompareTo("editar") == 0) { gravado = Intranet.Empresas.Comunicacoes.Conteudos.Editar(Convert.ToInt16(id), Convert.ToInt16(newsletter), ddlLocal.SelectedValue, Server.HtmlEncode(tbTitulo.Text), ddlOrdem.SelectedIndex + 1, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbImagem.Text, tbLink.Text, tbDesenvolvimento.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 newsletter = Request.QueryString["comunicacaoid"]; string id = Request.QueryString["id"]; try { if (status.CompareTo("adicionar") == 0) { gravado = Intranet.Empresas.Comunicacoes.Conteudos.Gravar(Convert.ToInt16(newsletter), ddlLocal.SelectedValue, Server.HtmlEncode(tbTitulo.Text), ddlOrdem.SelectedIndex + 1, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbImagem.Text, tbLink.Text, tbDesenvolvimento.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 = Intranet.Empresas.Comunicacoes.Conteudos.Editar(Convert.ToInt16(id), Convert.ToInt16(newsletter), ddlLocal.SelectedValue, Server.HtmlEncode(tbTitulo.Text), ddlOrdem.SelectedIndex + 1, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbImagem.Text, tbLink.Text, tbDesenvolvimento.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("conteudos.aspx", "") + "detalhes.aspx?id=" + newsletter); } } catch (Exception) { ShowErro("iconLoad", "Erro ao adicionar conteúdo! Contacte o Administrador do Sistema."); } } /* ========================================================================================= */ /* ========================================================================================= */ protected void GravarNovo(object sender, EventArgs e) { string newsletter = Request.QueryString["comunicacaoid"]; bool gravado = false; try { gravado = Intranet.Empresas.Comunicacoes.Conteudos.Gravar(Convert.ToInt16(newsletter), ddlLocal.SelectedValue, Server.HtmlEncode(tbTitulo.Text), ddlOrdem.SelectedIndex + 1, tbInicio.Text == "" ? "0000.00.00" : tbInicio.Text, tbFim.Text == "" ? "0000.00.00" : tbFim.Text, tbImagem.Text, tbLink.Text, tbDesenvolvimento.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("conteudos.aspx", "") + "detalhes.aspx?id=" + newsletter); } 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); } } /* ========================================================================================= */ /* ========================================================================================= */ }