Curso GeneXus - Otro ejemplo de uso de Business components

Documentos relacionados
Cursos GeneXus - Carregando os tipos de dados estruturados

Curso GeneXus - Atualização do banco de dados - Business Components

Curso Genexus - Introdução a Web Panels

Curso GeneXus - Fazendo crescer a aplicação

Trabalhando com documentos

Aplicação do GAM em nossa KB

Administrando as bases de conhecimento (GXserver)

Modelo conceitual de Smart Devices

Verificação da instalação do GeneXus 15. Como verificar se o GeneXus 15 tm está instalado corretamente

Curso GeneXus - Comunicação entre Objetos

Relações entre os atores da realidade

Curso GeneXus Criação da Base de Conhecimento

Identificando atributos disponíveis

01 Desenvolvimento de Aplicativos Web

Modulo 2 Gestão de Base

Tecnologias da Informação e Comunicação

Arquitetura de aplicativos para Smart Devices

Criação da Base de Conhecimento

- A descrição da operação fica no critério da empresa mais se recomenda o nome de Venda Condicional.

MÓDULO I. O que é o EndNote? Funcionalidades do EndNote. Como instalar o EndNote? Como criar uma nova Biblioteca? Como inserir registos?

Tutorial rápido CMAP TOOLS

Bem-vindo ao tópico sobre os relatórios de imposto ampliados.

Alteração de dado relevante, evento timer e calendários

Bem-vindo ao tópico sobre desconto por período e volume.

MANUAL DE UTILIZAÇÃO DO MÓDULO IMPRESSÃO DE ETIQUETAS

Introdução ao GAM. Agora queremos aumentar a Segurança da aplicação, tanto na parte web como a de Smart Device. Page1

No sub menu de Formatos temos algumas opções a trabalhar. Vejamos cada uma

Tecnologias da Informação e Comunicação

Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula

Lançando no Modelador

Banco de Dados Relacionais. Eduardo Ribeiro Felipe

Módulo Agenda 1 Permissões para a visualização de Agendas.

Como lançar ferro variável na V17

Universidade Federal do Rio Grande do Sul PEAD. Tutorial. Prof. Eliseo Berni Reategui Profa. Liliana Passerino Profa.

Para iniciar o Exemplo2, proceda como foi feito no Exemplo1 (veja Cap. 8.2). Se já tiver extraído o edifício ModTela, siga a execução deste exemplo.

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE

Tecnologias da Informação e Comunicação

Os campos que estiverem com a cor CINZA trazem informações automáticas do sistema. Só poderão ser alterados, quando existir opção de escolha.

Edição de plantas e plotagem

Como configurar o recurso Lição no Moodle. Tecnologia Educacional - Ensino Médio

ÍNDICE. Página 2 de 11

GUIA RÁPIDO WEB SIGNER. Portal e-saj / TJSP V.4

O Blackboard possibilita a criação de grupos de diferentes formas. Neste tutorial, vamos mostrar o passo a passo para criar grupos no ambiente.

Linguagem de Programação II Professor: Luiz Claudio Ferreira de Souza Assunto: Linguagem Pascal (Ambiente Lazarus) com Banco de Dados

MANUAL DE NAVEGAÇÃO UNICURITIBA VIRTUAL PROFESSOR

UTILIZANDO GRUPOS NO MOODLE

Estatísticas e Relatórios. Treinamento OTRS Help Desk

Guia para criação de seqüências Freestyler

Como gerar uma amostra aleatória simples com o Microsoft Excel

Esse tutorial irá explicar como plotar um desenho, desde a inserção de folhas.

possibilidades e criatividade Moodle em minha sala de aula Atividades e Recursos Lição Parte I Configurações gerais

Programação 2010/2011 MEEC

Friso Estrutura. nos. outros. trutor. fáceis de o fazer: FCA Editora de Informática

Conexão com Banco de Dados

Aula 2 Even e to t s d o M ouse

MANUAL DE PREENCHIMENTO DA DECLARAÇÃO DE OCUPANTE DE DAS OU FCPE - DECRETO 9.727/19

1ª Sessão. Registo e Configuração: Associar uma conta GMAIL Introdução à plataforma AppInventor. Ruth Braga

Agrupamento de Escolas de Freamunde (Código ) Praceta da Escola Secundária, FREAMUNDE TUTORIAL KAHOOT!

LUMISOFT (Guia do usuário)

Bem-vindo ao tópico sobre automação do processo de vendas.

Criando fórum. Vamos aprender a criar um fórum. Siga os passos a seguir!

Trabalhando com Mala Direta e Etiquetas de Endereçamento no BrOffice/LibreOffice

Figura 3.42 Resultados das medidas de tendência central.

Saída de Estoque. estoque?

FORMAÇÃO DE MICROSOFT EXCEL 2010

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

1. Transposição de dados de linhas para colunas

OntoGen: Uma Ferramenta para Integração de Esquemas XML - Manual da Ferramenta

Curso GeneXus - Comando for each para listar info agrupada

Nota Técnica. Configuração de Alarmes no Visilogic Descreve o procedimento para a configuração de alarmes no Visilogic.

Para abrir um documento deve utilizar uma das abordagens seguintes.

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE

(papelprofessor) (versão3.3)

Bloco G - Registros 0500 e Janeiro/ 2011

PLATAFORMA ENTURMA GUIA DO PROFESSOR

Guia do Portal do Fornecedor

GERENCIADOR BIBLIOGRÁFICO MENDELEY. UNIVERSIDADE FEDERAL DE SANTA CATARINA Biblioteca Universitária. Programa de Capacitação

Como gerar um cartão virtual no modo críptico. Moedas. Opções adicionais ao gerar um cartão virtual em modo críptico >VCN/NEW/EUR123.

DEFINIÇÃO: Tema, Questões de pesquisa, Objetivos. Definir Critério para: 1 0 Refino. Definir TERMOS para a busca. Definir as bases de dados

Como implementar aplicativos para Smart Devices com GeneXus.

Tecnologias da Informação e Comunicação 9º Ano Escola Básica Miradouro de Alfazina

enota NFS-e Prefeitura

CEDERJ - CENTRO DE EDUCAÇÃO SUPERIOR A DISTÂNCIA DO ESTADO DO RIO DE JANEIRO

Paulo Afonso Professor: Nataniel Vieira T2

AULA TEÓRICA 11 Tema 7. Introdução ao Microsoft Access (cont.)

Após seleção do arquivo, o programa exibe um diá projeto. Diálogo de propriedades do arquivo Pressionando-se OK, será adicionada uma entrada título, s

Manual do Professor AVA - Moodle/Unesp (versão 3.0) ESCOLHA

Manual do Professor AVA - Moodle/Unesp (versão 3.0) Grupos e agrupamentos

Orientação a Objetos

NIVELAMENTO DE INFORMÁTICA. Professor: Cleber Semensate

WCF RIA Services Part 1

MongoDB: Manipular a base de dados NoSQL no Windows 10

Guia prático do. Passo a passo

Tec. Prog. Internet II ADVANCEPG Prof. Andrea Garcia

Agendamento de Entregas

Guia de uso. TOTVS Saúde - Autorizador Web. Prestadores

Produção de tutoriais. Suellem Oliveira

Bem-vindo ao curso sobre ativos fixos

TUTORIAL WINDOWS MOVIE MAKER. Encontre o Windows Movie Maker no seu computador assim:

Manual do Usuário. Retaguarda. Versão: 1.2. (Cadastro de Grupo de Produtos e Cadastro de Produtos)

Transcrição:

Curso GeneXus - Otro ejemplo de uso de Business components Veremos, a seguir, um exemplo prático do uso de Business Components. Comecemos postulando o seguinte cenário:

Todo cliente da agência de viagens acumula milhas a cada vez que faz uma excursão. Como forma de promoção, a agência decide premiar com um jantar certos clientes preferenciais que geraram mais de 1.000 milhas e que não foram premiados anteriormente. Deseja-se criar uma página através da qual essa premiação possa ser feita. Empregaremos as ações Drag & Drop para permitir arrastar em execução os clientes escolhidos e soltá-los sobre uma imagem. Para esses clientes, será criado o prêmio de forma automática, além de adicionadas 100 milhas. Vejamos o desenho de transação que temos.

De cada cliente, vamos registrar os seus dados pessoais, bem como sua lista de excursões. Dispomos também da quantidade de excursões que ele fez, da quantidade de prêmios concedidos a ele pela agência e da quantidade de milhas acumuladas. Vamos agora às regras declaradas e, em particular, observemos a regra Add add(customertripmiles, CustomerTitalMiles); Ela define que a cada vez que 1 cliente inserir 1 linha com 1 excursão, será adicionada a quantidade de milhas correspondentes ao seu total de milhas. Caso você exclua uma linha com uma excursão realizada por um cliente, a regra add irá subtrair as milhas correspondentes à excursão tirada do total de milhas do cliente. Observemos agora a transação Prize, que nos permite registrar os prêmios que foram concedidos. Cada prêmio corresponde a um cliente e definimos as seguintes regras para poder carregar a data do prêmio com a data do dia e adicionar 100 milhas ao cliente já que é parte da premiação. Vejamos agora a web panel WPPrizes, que já havíamos definido e através da qual vamos resolver esse requerimento solicitado:

Essa web panel mostra todos os clientes que tem 1.000 milhas acumuladas ou mais e que não foram premiados. Como dissemos anteriormente, a ideia é poder arrastar os clientes do grid e soltá-los sobre a imagem e que, fazendo apenas isso, o prêmio seja gerado para eles. Notemos que especificamos no grid as propriedades Allow Selection e Allow Drag com o valor True. Dessa forma, habilitamos selecionar uma linha do grid e arrastá-la, respectivamente. Muito bem. O que terá que acontecer no momento de soltar uma linha do grid sobre a imagem? Se pensarmos em nossa linguagem natural, podemos dizer que é preciso criar um novo prêmio para o cliente selecionado com a data do dia, indicar que é um jantar, além de ser preciso acrescentar para o cliente 100 milhas de presente. E o que GeneXus nos oferece para resolver isso?

Utilizamos a transação Prize como Buniness Component para inserir o prêmio, e assim aproveitamos os benefícios que os Business Components nos oferecem. Para isso, configuramos a propriedade Business Component na transação Prize com o valor True. Voltemos à web panel. Neste objeto, definimos a variável &Prize do tipo de dado Prize. Em seguida, veremos o uso dessa variável para realizar a inserção do prêmio. Queremos inserir o prêmio quando o usuário soltar a linha do grid sobre a imagem, assim, a codificação deve estar dentro do evento Drop associado à imagem. Esse evento Drop deve receber como parâmetro o identificador do cliente arrastado, ou seja, CustomerId. Mas esse evento não admite atributos como parâmetros, de modo que devemos definir uma variável &Customer baseada no atributo CustomerId. Incluímos essa variável como parâmetro do evento e GeneXus entende que se trata do identificador da linha do grid que se arrasta e se solta sobre a imagem. Agora, observemos a primeira linha do código desse evento Drop. À variável &Prize, estamos atribuindo o texto Dinner a seu membro PrizeDescription. Na segunda linha do código, estamos atribuindo ao membro CustomerId dessa variável &Prize o cliente que o usuário arrastou do grid sobre a imagem que temos recebido através do parâmetro &CustomerId. Agora, revisemos o seguinte:

O identificador da transação Prize, ou seja, PrizeId, baseia-se no domínio Id que é autonumerado, o que significa que não necessitamos atribuir um valor ao membro correspondente. As regras declaradas na transação Prize serão disparadas ao utilizar essa transação como Business Component, de modo que não é preciso atribuir uma data a PrizeDate... e as 100 milhas também serão adicionadas ao cliente. Até agora, trabalhamos na memória. Para salvar fisicamente no banco de dados, declararemos o método Save e o comando Commit, necessários ao trabalhar com Business Component. Pressionemos F5 e vejamos como funciona. Esse botão nos oferece ver uma lista pdf com todos os prêmios concedidos. Se observarmos, vemos que um prêmio foi concedido ao cliente Peter Smith. Vamos premiar Susan Parker. Observemos primeiro que ela já tem 1.250 milhas registradas. Então selecionamos a linha e arrastamos sobre a imagem. Depois, vemos que a linha desaparece do grid, o que é o comportamento esperado já que este grid mostra apenas os clientes que não foram premiados. Vejamos agora a lista. Observamos que Susan Parker aparece na lista de prêmios concedidos e

verificamos que tem a data do dia de hoje, e que foram computadas as 100 milhas extras. Vimos, desta forma, que foi simples definir e usar o conceito de Business Component e que ele, efetivamente, nos fornece tudo que as transações oferecem. Porque além das regras terem sido disparadas, como já vimos, também foi validada a consistência dos dados que atribuímos e gravamos. Neste caso, o valor do cliente que atribuímos ao prêmio é válido porque foi diretamente arrastado de um dado extraído do banco de dados, mas poderíamos ter atribuído outro valor ou variável carregada de outra forma e a validação de existência seria feita. Assim, para finalizar e completar a implementação, vejamos o código que definimos no evento Enter associado ao botão Prizes awarded. Definimos e utilizamos uma variável do tipo de dados Window, já que, entre outras coisas, ela permite mostrar uma lista pdf como uma janela popup. Nesta primeira linha de código, vemos que estamos associando à propriedade Object da variável &Window o objeto que queremos executar. Vemos também que é possível definir a altura e largura da janela. E, finalmente, abrimos a janela com a lista.