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