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);
}
}
/* ========================================================================================= */
/* ========================================================================================= */
}