Artigo Clube Delphi 97 - Controle on-line de vídeo-locadora - Parte 5

Neste artigo veremos a criação das páginas para liberação de locação, bloqueio de locações para usuários devedores e bloqueio de novas reservas para usuários devedores.

Esse artigo faz parte da revista Clube Delphi Magazine edição 97. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler essa revista em PDF.

Web – Mini-Curso – Mão na Massa

Controle on-line de vídeo-locadora

Veja como criar um sistema on-line de controle para uma vídeo-locadora - Parte 5

 

Neste artigo veremos

·Criação das páginas para liberação de locação;

·Bloqueio de locações para usuários devedores;

·Bloqueio de novas reservas para usuários devedores.

Qual a finalidade

·Com o bloqueio de reservas e multas para usuários devedores, evitamos que o mesmo faça novas reservas sem antes liquidar seus débitos e atrasos nas devoluções.

Quais situações utilizam esses recursos?

·A principal situação está no fato de evitar mais problemas com um determinado usuário que costuma atrasar a entrega do filme e não pagar as devidas multas.

 

Resumo DevMan

Na última parte de nosso mini-curso veremos como bloquear novas reservas para clientes devedores. Esse recurso é bastante útil no dia-a-dia e evita que o cliente alugue muitos filmes sem antes eliminar todos os seus débitos.

Outro recurso interessante que veremos será incluído na área administrativa que possibilitará o operador da locadora bloquear, ou não, o cliente inadimplente ou com filmes em atraso.

 

Finalizando, neste artigo, o desenvolvimento da nossa aplicação ASP.NET com Delphi for .NET, sobre um sistema on-line de vídeo-locadora, veremos uma funcionalidade de grande valia para que você possa implementar em seu sistema, o controle de atrasos e multas. Criaremos uma nova tabela na base de dados onde armazenaremos todos os registros dos valores de multas aplicados a clientes decorrentes de atrasos na devolução de suas locações.

Para o processo de reservas de locações pelo cliente, faremos uma verificação no momento da reserva, onde apenas usuários sem registros de atrasos ou multas estarão aptos a novas reservas. Para o controle da locadora, nas páginas onde os administradores possuem acesso, criaremos também uma verificação no momento em que um usuário é selecionado, bem como a regra de criação de multa em devoluções de locações atrasadas, e posterior criação de páginas para pagamento das mesmas. Veja que as implementações não terão grandes dificuldades ao serem desenvolvidas. Mãos na massa!

 

Adicionando a tabela de multas ao banco de dados

Utilizando o gerenciador de banco de dados IBExpert, ative o registro da base de dados da locadora on-line e abra o SQL Editor (“F12”) onde iremos digitar os comandos SQL para criação da tabelas de “MULTAS”, Primary Keys e Foreign Keys, além também da criação de um mecanismo de auto-incremento para a chave primária da tabela.

Digite no editor SQL a instrução da Listagem 1 e logo após execute-a (“F9”). Para compilar e gravar a ação utilize o botão Commit Transaction (Ctrl+Shift+C), observando no DataBase Explorer que a nova tabela acabou de ser adicionada.

 

Listagem 1. Adicionando tabela de multas à base de dados

CREATE TABLE MULTAS(

  COD_MULTA INTEGER NOT NULL,

  COD_LOCACAO INTEGER,

  PAGO CHAR(1) DEFAULT 'N',

  DATA_PGTO DATE DEFAULT 'TODAY',

  VALOR DECIMAL(12,2) DEFAULT 0);

ALTER TABLE MULTAS

ADD CONSTRAINT PK_MULTAS

PRIMARY KEY (COD_MULTA);

CREATE GENERATOR GEN_MULTAS_ID;

SET TERM ^;

 

CREATE TRIGGER MULTAS_BI FOR MULTAS

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

  IF (NEW.COD_MULTA IS NULL) THEN

NEW.COD_MULTA = GEN_ID(GEN_MULTAS_ID,1);

END

^

SET TERM ; ^

 

ALTER TABLE MULTAS

ADD CONSTRAINT FK_MULTAS

FOREIGN KEY (COD_LOCACAO)

REFERENCES LOCACAO(COD_LOCACAO);

 

Ao observar o código, veja que nas primeiras linhas estamos criando as tabelas e os respectivos campos, definindo a cada um dos mesmos um tipo e tamanho se necessário. Na seqüência, a criação da chave-primária da tabela, à qual também atribuímos um Generator e uma Trigger que irá definir um valor automático para o campo, caso o mesmo não seja informado no momento de uma nova inclusão. Na segunda parte da instrução, criamos uma chave estrangeira relacionada à tabela " [...] continue lendo...

Artigos relacionados