CREATE OR ALTER TRIGGER TTBCASO_PAINEL_B01I FOR TBCASO_PAINEL
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbcaso_painel,1);
end;

CREATE TRIGGER TTBCASO_PAINEL_B02I FOR TBCASO_PAINEL
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro Incluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCASO_PAINEL',NEW.ID, HISTORICO);
    END
end;

CREATE TRIGGER TTBCASO_PAINEL_B01U FOR TBCASO_PAINEL
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Descricao:'|| OLD.DESCRICAO||'->'||NEW.DESCRICAO;
    END

    IF ( OLD.TITULO <> NEW.TITULO) THEN
    BEGIN
        HISTORICO = HISTORICO||',Titulo:'|| OLD.TITULO||'->'||NEW.TITULO;
    END

    IF ( OLD.MENU_GRUPO <> NEW.MENU_GRUPO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Menu Grupo:'|| OLD.MENU_GRUPO||'->'||NEW.MENU_GRUPO;
    END

    IF ( OLD.TEMPLATE <> NEW.TEMPLATE) THEN
    BEGIN
        HISTORICO = HISTORICO||'Template:'|| OLD.TEMPLATE||'->'||NEW.TEMPLATE;
    END

     IF ( OLD.FRASE <> NEW.FRASE) THEN
    BEGIN
        HISTORICO = HISTORICO||'Frase:'|| OLD.FRASE||'->'||NEW.FRASE;
    END

     IF ( OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        HISTORICO = HISTORICO||'Status:'|| OLD.STATUS||'->'||NEW.STATUS;
    END

     IF ( OLD.CONTATO_CADASTRO <> NEW.CONTATO_CADASTRO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Contato Cadastro:'|| OLD.CONTATO_CADASTRO||'->'||NEW.CONTATO_CADASTRO;
    END

     IF ( OLD.EMAIL <> NEW.EMAIL) THEN
    BEGIN
        HISTORICO = HISTORICO||'Email:'|| OLD.EMAIL||'->'||NEW.EMAIL;
    END

     IF ( OLD.EMAIL_PASS <> NEW.EMAIL_PASS) THEN
    BEGIN
        HISTORICO = HISTORICO||'Email Senha:'|| OLD.EMAIL_PASS||'->'||NEW.EMAIL_PASS;
    END

     IF ( OLD.EMAIL_SMTP <> NEW.EMAIL_SMTP) THEN
    BEGIN
        HISTORICO = HISTORICO||'Email SMTP:'|| OLD.EMAIL_SMTP||'->'||NEW.EMAIL_SMTP;
    END

     IF ( OLD.PORTA_SMTP <> NEW.PORTA_SMTP) THEN
    BEGIN
        HISTORICO = HISTORICO||'Porta SMTP:'|| OLD.PORTA_SMTP||'->'||NEW.PORTA_SMTP;
    END

     IF ( OLD.AUTENTICACAO <> NEW.AUTENTICACAO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Autenticacao:'|| OLD.AUTENTICACAO||'->'||NEW.AUTENTICACAO;
    END

     IF ( OLD.SSL_TLS <> NEW.SSL_TLS) THEN
    BEGIN
        HISTORICO = HISTORICO||'SSL_TLS:'|| OLD.SSL_TLS||'->'||NEW.SSL_TLS;
    END

      IF ( OLD.EMAIL_MONITOR <> NEW.EMAIL_MONITOR) THEN
    BEGIN
        HISTORICO = HISTORICO||'Email Monitor:'|| OLD.EMAIL_MONITOR||'->'||NEW.EMAIL_MONITOR;
    END

     IF ( OLD.SQL_EMAIL_CONTATO <> NEW.SQL_EMAIL_CONTATO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Sql Email Contato:'|| OLD.SQL_EMAIL_CONTATO||'->'||NEW.SQL_EMAIL_CONTATO;
    END

    IF ( OLD.CAMPO_NOME_CONTATO <> NEW.CAMPO_NOME_CONTATO) THEN
    BEGIN
        HISTORICO = HISTORICO||'Campo Nome Contato:'|| OLD.CAMPO_NOME_CONTATO||'->'||NEW.CAMPO_NOME_CONTATO;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCASO_PAINEL',NEW.ID, HISTORICO);
    END
end;

CREATE TRIGGER TTBCASO_PAINEL_B01D FOR TBCASO_PAINEL
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||'Registro Excluido';
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCASO_PAINEL',old.ID, HISTORICO);
    END
end;

ALTER SEQUENCE GTBCASO_USUARIOS RESTART WITH 48 INCREMENT BY 1;

ALTER TABLE TBCASO_USUARIO_PARAMETRO
    ADD PAINEL_ID INTEGER;
	
	UPDATE TBCASO_USUARIO_PARAMETRO SET PAINEL_ID = 1;


