Compartilhar via


Instruções passo a passo: criando o aplicativo Clínica de Visão no LightSwitch

Esta explicação passo a passo demonstra o processo de ponta a ponta para a criação de um aplicativo no LightSwitch. Você usará muitos recursos do LightSwitch para criar um aplicativo para uma clínica de visão fictícia. O aplicativo inclui recursos para agendar consultas e criar faturas.

Pré-requisitos

Baixe o banco de dados PrescriptionContoso em MSDN Code Gallery.

Etapas

  • Criar um projeto

    Crie o projeto de aplicativo.

  • Definir tabelas

    Adicione entidades de Paciente, Fatura e Detalhes da Fatura.

  • Criar uma lista de opções

    Crie uma lista de valores.

  • Definir uma relação

    Vincule tabelas relacionadas.

  • Adicionar outra entidade

    Adicione a entidade de Consulta.

  • Criar uma tela

    Crie uma tela para exibir informações sobre qualquer paciente.

  • Executar o aplicativo

    Execute o aplicativo e insira os dados.

  • Conectar-se a um banco de dados

    Conecte-se a um banco de dados externo.

  • Fazer alterações em entidades

    Modifique as entidades Products e Product Rebate.

  • Criar uma tela de lista e detalhes

    Crie uma tela para exibir produtos.

  • Alterar o layout da tela

    Modifique o layout da tela Lista de Produtos.

  • Fazer alterações no tempo de execução

    Faça alterações no aplicativo em execução.

  • Criar uma consulta

    Crie uma consulta parametrizada e associe-a a uma tela.

  • Adicionar um campo calculado

    Crie um campo computado e adicione-o a uma tela.

  • Criar uma relação entre bancos de dados

    Crie uma relação virtual entre entidades em bancos de dados diferentes.

  • Criar a tela Faturas

    Crie uma tela para exibir faturas.

  • Modificar a tela Faturas

    Altere o layout da tela Faturas no aplicativo em execução.

  • Adicionar lógica de tela

    Grave o código para calcular datas.

  • Adicionar mais campos calculados

    Crie mais campos computados e adicione-os à tela Faturas.

  • Adicionar um cliente móvel

    Adicione telas para exibir os pacientes e as consultas em um dispositivo móvel.

Criar um projeto

Como a primeira etapa na criação de um aplicativo LightSwitch, você criará um projeto para esse aplicativo.

Para criar um projeto

  1. Na barra de menus, escolha Arquivo, Novo Projeto.

    A Caixa de diálogo Novo Projeto é exibida.

  2. Na lista Modelos Instalados, expanda o nó Visual Basic ou Visual C# e escolha o nó LightSwitch.

  3. No painel central, escolha o modelo Aplicativo de Área de Trabalho do LightSwitch.

  4. Na caixa de texto Nome, insira Vision Clinic e escolha o botão OK.

    A janela Designer de Vision Clinic é aberta e as pastas necessárias para o projeto são adicionadas à janela Gerenciador de Soluções.

    O projeto Vision Clinic

Definir tabelas

No LightSwitch, tabelas são conhecidas como entidades; elas modelam o objeto que os dados representam (nesse caso, uma coleção de pacientes). Aplicativos LightSwitch usam um modelo "formulários de dados" (ou seja, formulários ou telas que exibem dados de uma ou mais fontes). LightSwitch inclui um banco de dados intrínseco no qual você pode armazenar dados para seu aplicativo. Na próxima etapa, você criará uma tabela de banco de dados para armazenar as informações de pacientes.

Para criar a entidade Paciente

  1. Na janela Designer de Vision Clinic, escolha o link Criar Nova Tabela.

    O Designer de Dados é aberto. Em Solution Explorer, um nó Table1Items é exibido sob o nó Fontes de Dados no projeto Vision Clinic.Server.

  2. Na janela Propriedades, nomeie a tabela Paciente e escolha a tecla Enter.

    O nome na barra de título Designer de Dados é alterado para "Paciente", e o nome no Gerenciador de Soluções muda para "Patients.lsml".

  3. Na coluna Nome, do Designer de Dados, escolha o link Adicionar propriedade, insira o nome e escolha a tecla Enter.

    Observe que o tipo de dados apropriado, String, é exibido na coluna Tipo, e que a caixa de seleção do campo Obrigatório está marcada. Os usuários devem especificar um nome para cada cliente.

  4. Na coluna Nome, escolha o link Adicionar propriedade e insira Street.

  5. Na coluna Nome, escolha o link Adicionar propriedade e insira Street2.

  6. Na coluna Obrigatório, desmarque a caixa de seleção.

    A segunda linha de um endereço é opcional.

  7. Na coluna Nome, escolha o link Adicionar propriedade e insira City.

  8. Na coluna Nome, escolha o link Adicionar propriedade e insira State.

  9. Na coluna Nome, escolha o link Adicionar propriedade e insira Zip.

  10. Na coluna Nome, escolha o link Adicionar propriedade e insira PrimaryPhone.

  11. Na coluna Tipo, abra a lista e escolha PhoneNumber.

    PhoneNumber é um tipo de negócios personalizado que representa um padrão comum para a inserção e a formatação de números de telefone.

  12. Na coluna Obrigatório, desmarque a caixa de seleção.

  13. Na coluna Nome, escolha o link Adicionar propriedade e insira SecondaryPhone.

  14. Na coluna Tipo, abra a lista e escolha PhoneNumber.

  15. Na coluna Obrigatório, desmarque a caixa de seleção.

  16. Na coluna Nome, escolha o link Adicionar campo e insira Email.

  17. Na coluna Tipo, abra a lista e escolha EmailAddress.

    EmailAddress é outro tipo personalizado de empresa que representa um endereço de email formatado corretamente.

  18. Na coluna Obrigatório, desmarque a caixa de seleção.

  19. Na coluna Nome, escolha o link Adicionar propriedade e insira PolicyNumber.

  20. Na janela Propriedades, defina a propriedade Comprimento Máximo como 12.

    Esse valor impedirá que usuários insiram um número de política que contenha mais de 12 caracteres.

    A entidade paciente

  21. Na janela Propriedades, desmarque a caixa de seleção de propriedades de Ativar Criado/Alterado.

    É possível usar as propriedades criadas e alteradas para criar uma trilha de auditoria para a tabela, acompanhando quem criou um registro ou o editou recentemente. Mas você não precisa deles para esta entidade.

  22. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Em seguida, você criará mais duas entidades para representar uma fatura e itens de uma linha da fatura.

Para criar as entidades InvoiceDetail e Invoice

  1. Em Gerenciador de Soluções, escolha o nó Data Sources e, na barra de menus, escolha Projeto, Adicionar Tabela.

    Uma nova instância do Designer de Dados é aberta.

  2. Na janela Propriedades, defina a propriedade Nome como Fatura e pressione a tecla Enter.

  3. Na coluna Nome, escolha o link Adicionar propriedade, insira InvoiceDate e escolha a tecla Tab.

  4. Na coluna Tipo, abra a lista e escolha DateTime.

  5. Na coluna Nome, escolha o link Adicionar propriedade, insira InvoiceDue e escolha a tecla Tab.

  6. Na coluna Tipo, abra a lista e escolha DateTime.

  7. Na coluna Nome, escolha o link Adicionar propriedade, insira InvoiceStatus e escolha a tecla Tab.

  8. Na coluna Tipo, abra a lista e escolha Inteiro.

  9. Na coluna Nome, escolha o link Adicionar propriedade, insira ShipDate e escolha a tecla Tab.

  10. Na coluna Tipo, abra a lista e escolha DateTime.

    A entidade de nota fiscal

  11. Em Gerenciador de Soluções, escolha o nó Data Sources e, na barra de menus, escolha Projeto, Adicionar Tabela.

  12. Na janela Propriedades, defina a propriedade Nome como InvoiceDetail e pressione a tecla Enter.

  13. Na coluna Nome, escolha o link Adicionar propriedade, insira Quantity e escolha a tecla Tab.

  14. Na coluna Tipo, abra a lista e escolha Inteiro.

  15. Na coluna Nome, escolha o link Adicionar propriedade e insira UnitPrice.

  16. Na coluna Tipo, abra a lista e escolha Dinheiro.

    Money é outro tipo personalizado de negócio que representa e formata corretamente a moeda.

    A entidade InvoiceDetails

  17. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda.

  18. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar uma lista de opções

Na próxima etapa, você criará uma lista de opções para a entidade Invoice. Ao criar uma lista de opções, você pode apresentar ao usuário um conjunto fixo de valores selecionáveis.

Para criar uma lista de opções

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Invoices.lsml e, em seguida, escolha Abrir.

  2. No Designer de Dados, escolha o campo InvoiceStatus.

  3. Na janela Propriedades, escolha o link Lista de Opções.

    A caixa de diálogo lista de opções

  4. Na caixa de diálogo Lista de Opções, digite os seguintes valores e escolha o botão OK.

    Valor

    Nome para exibição

    0

    Ativo

    1

    Pago

    2

    Atrasado

    Quando este campo aparece em uma tela, o usuário poderá abrir uma lista e, em seguida, escolher alguns dos três valores de Nome para Exibição que você inseriu.

  5. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Definir uma relação

Na próxima etapa, você definirá relações entre as entidades Paciente, Fatura e InvoiceDetail.

Para definir relações

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Invoices.lsml e, em seguida, escolha Abrir.

  2. Na barra de ferramentas do Designer de Dados, escolha o botão Relação.

    A caixa de diálogo Adicionar Nova Relação aparece.

  3. Na linha Nome:, escolha a coluna Para, abra a lista e selecione Paciente e clique no botão OK.

    Uma relação um para muitos é criada entre as entidades Patient e Invoice. Um paciente pode ter várias faturas.

  4. Na barra de ferramentas do Designer de Dados, escolha o botão Relação.

    A caixa de diálogo Adicionar Novo Relacionamento é aberta.

  5. Na linha Nome:, escolha a coluna Para, abra a lista e selecione InvoiceDetail.

  6. Na linha Multiplicidade:, escolha a coluna De, abra a lista e selecione Um.

  7. Na linha Multiplicidade:, escolha a coluna Para, abra a lista, selecione Muitos e escolha o botão OK.

    Uma relação um para muitos é criada entre as entidades Invoice e InvoiceDetail. Uma fatura pode ter vários detalhes.

    A relação entre InvoiceDetail e Invoice

  8. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar a entidade Compromisso

Na próxima etapa, você adicionará mais uma entidade para representar um compromisso e, em seguida, adicionará uma relação e uma lista de opções.

Para adicionar a entidade Consulta

  1. Em Gerenciador de Soluções, escolha o nó Data Sources e, na barra de menus, escolha Projeto, Adicionar Tabela.

  2. Na janela Propriedades, selecione a caixa de texto Nome e insira Compromisso.

  3. No Designer de Dados, escolha o texto de espaço reservado Adicionar propriedade na coluna Nome e insira AppointmentTime.

  4. Na coluna Tipo, abra a lista e escolha DateTime.

  5. No Designer de Dados, escolha o texto de espaço reservado Adicionar propriedade na coluna Nome e insira AppointmentDate.

  6. Na coluna Tipo, abra a lista e escolha Data.

  7. Na coluna Nome, escolha o texto de espaço reservado Adicionar propriedade e digite AppointmentType.

  8. Na coluna Tipo, abra a lista e escolha Inteiro Curto.

  9. Na coluna Nome, escolha o texto de espaço reservado Adicionar propriedade e digite DoctorNotes.

  10. Aceite o tipo padrão, Cadeia de Caracteres e desmarque a caixa de seleção Obrigatório.

  11. Na barra de ferramentas do Designer de Dados, escolha o botão Relação.

  12. Na caixa de diálogo Adicionar Nova Relação, escolha a coluna Para na linha Nome:.

  13. Abra a lista, escolha Paciente e escolha o botão OK.

    Uma relação um para muitos é criada entre as entidades Patient e Appointment. Cada paciente pode ter várias consultas.

  14. No Designer de Dados, escolha o campo AppointmentType.

  15. Na janela Propriedades, escolha o link Lista de Opções.

  16. Na caixa de diálogo Lista de Opções, digite os seguintes valores e clique no botão OK.

    Valor

    Nome para exibição

    0

    Anual

    1

    Acompanhamento

    2

    Emergência

    A entidade compromisso

  17. Na barra Perspectiva, escolha a guia DesktopClient.

  18. Na janela Propriedades, abra a lista Propriedade de Resumo e escolha AppointmentTime.

    Essa propriedade define o campo que será exibido quando uma lista de nomeações aparecer.

  19. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar uma tela

No próximo procedimento, você criará uma tela para exibir uma lista de pacientes.

Para criar uma tela

  1. Em Gerenciador de Soluções, escolha o nó Telas e, na barra de menus, escolha Projeto, Adicionar Tela.

    A caixa de diálogo Adicionar Nova Tela é aberta.

  2. Na lista Selecionar um modelo de tela, escolha Tela de Grade Editável.

  3. Na caixa de texto Nome da Tela, insira PatientList.

  4. Na lista Dados da Tela, escolha Pacientes e clique no botão OK.

    Definindo a tela PatientList

    O Designer de Tela é aberto, exibindo uma representação hierárquica do layout da tela.

  5. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar uma tela Consulta

No próximo procedimento, você criará uma tela para agendar consultas.

Para criar a tela

  1. No Gerenciador de Soluções, no projeto Vision Clinic.Server, abra o menu de atalho do nó Appointments.lsml e, em seguida, clique em Abrir.

  2. Na barra Perspectiva, escolha a guia DesktopClient e, na barra de ferramentas, clique no botão Tela.

  3. Na caixa de diálogo Adicionar Nova Tela, na lista Selecione um modelo de tela, escolha Nova Tela de Dados.

  4. Na lista Dados da Tela, escolha Consulta e clique no botão OK.

  5. No painel à esquerda do Designer de Tela, escolha o nó AppointmentTime.

  6. Na janela Propriedades, desmarque a caixa de seleção Mostrar Data.

    Essa alteração exibirá apenas a seção de tempo do controle de Seletor de Data e Hora.

Executar o aplicativo e inserir os dados

Agora você tem um aplicativo funcionando. Na próxima etapa, você irá executá-lo e inserir alguns dados.

Para executar o aplicativo

  1. Escolha a tecla F5 para iniciar o aplicativo.

  2. No aplicativo em execução, escolha a tela PatientList e escolha o botão de adição (+).

    A caixa de diálogo Adicionar Novo Paciente é exibida.

  3. Digite dados de um novo paciente e insira um valor que não seja válido no campo Email (por exemplo, john#example.com).

    Endereço de email inválido

    Quando você se move para fora do campo, uma borda vermelha aparece. O tipo de empresa EmailAddress tem regras de validação internas que podem detectar um endereço de email formatado incorretamente.

  4. Corrija o erro, conclua a entrada de dados e, em seguida, escolha o botão OK.

    Na barra de ferramentas do aplicativo, o botão Salvar agora está habilitado.

  5. Adicione mais alguns pacientes.

  6. Escolha o botão Salvar para salvar seus dados.

    Agora você pode reorganizar as colunas na grade PatientList e classificar em qualquer coluna.

  7. Na barra de menus, escolha Tarefas, Criar Nova Consulta.

    A tela Criar Nova Consulta é aberta.

  8. Insira os dados para uma consulta, escolhendo um paciente na lista Paciente e um horário posteriormente hoje.

  9. Adicione mais algumas consultas para mais tarde hoje e escolha o botão Salvar para salvar os dados.

  10. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

Conectar-se a um banco de dados

Na próxima etapa, você se conectará a um banco de dados externo que contém informações do produto.

Dica

Antes de executar esta etapa, você deve baixar o banco de dados PrescriptionContoso da Galeria de Códigos do MSDN e instalar o banco de dados seguindo as instruções no arquivo Install.htm.

Para anexar a uma fonte de dados

  1. No Gerenciador de Soluções, escolha o nó Fontes de Dados.

  2. Na barra de menus, escolha Projeto, Adicionar Fonte de Dados.

  3. No assistente Anexar Fonte de Dados, escolha o ícone Base de dados e o botão Próximo.

    A caixa de diálogo Escolher Fonte de Dados é aberta.

    Dica

    Se você tiver se conectado anteriormente a um banco de dados no Visual Studio, esta caixa de diálogo não aparecerá e você poderá ignorar o próximo passo.

  4. Na lista, escolha Microsoft SQL Server e escolha o botão Continuar.

  5. Na caixa de diálogo Propriedades da Conexão, insira os valores na tabela a seguir e clique no botão OK.

    Field

    Valor

    Nome do servidor

    (localdb)\v11.0

    Fazer logon no servidor

    Use a Autenticação do Windows

    Selecionar ou inserir um nome de banco de dados

    C:\Temp\PrescriptionContoso.mdf

    Propriedades de conexão

    A página do assistente Escolher Objetos do Banco de Dados aparece.

  6. Expanda o nó Tabelas, escolha as tabelas Produto e ProductRebate e o botão Finalizar.

    A fonte de dados C_TEMP_PRESCRIPTIONCONTOSO_MDFData é adicionada ao projeto, e as entidades são criadas para Products e ProductRebates.

  7. Em Gerenciador de Soluções, abra o menu de atalho do nó C_TEMP_PRESCRIPTIONCONTOSO_MDFData, escolha Renomear e insira PrescriptionContoso.

  8. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Modificar as entidades Products e ProductRebate

Na próxima etapa, você irá alterar as entidades ProductRebate e Products.

Para modificar as entidades ProductRebate e Products

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó ProductRebates.lsml e escolha Abrir.

  2. Escolha o campo Rebate e altere o Tipo para Dinheiro.

  3. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda.

  4. Em Gerenciador de Soluções, abra o menu de atalho do nó Products.lsml e escolha Abrir.

  5. No Designer de Dados, escolha o campo MSRP e altere o Tipo para Dinheiro.

  6. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda.

  7. Escolha o campo ProductImage e altere o Tipo para Imagem.

  8. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar uma tela de lista e detalhes

Na próxima etapa, você criará uma tela para exibir informações sobre o produto.

Para criar uma tela de detalhes e lista

  1. No Designer de Dados, na barra Perspectiva, escolha a guia DesktopClient e, na barra de ferramentas, clique no botão Tela.

    A caixa de diálogo Adicionar Nova Tela é aberta.

  2. Na lista Selecionar um modelo de tela, escolha Tela de Lista e Detalhes.

  3. Na caixa de texto Nome da Tela, insira ProductList.

  4. Na lista Dados da Tela, escolha PrescriptionContoso.Products.

  5. Na lista Dados Adicionais a Incluir, marque as caixas de seleção Detalhes do Produto e Product ProductRebates e escolha o botão OK.

Alterar o layout da tela

Na próxima etapa, você alterará o layout da tela ProductList.

Para personalizar o layout

  1. No Designer de Tela, na Árvore de Conteúdo de Tela, escolha o nó Layout das Linhas |Detalhes do Produto.

  2. Na lista Layout das Linhas, escolha Imagem e Texto.

  3. Na lista de cada campo abaixo do nó Imagem e Texto, escolha os seguintes valores:

    Field

    Valor

    (PICTURE)

    Imagem do produto

    (TITLE)

    Nome do produto

    (SUBTITLE)

    MSRP

    (DESCRIPTION)

    Descrição

    Layout de imagem e texto

  4. Escolha a tecla F5 para executar o aplicativo e exibir os resultados.

  5. No aplicativo em execução, na barra de menus, selecione Tarefas, Lista de Produtos para exibir a tela ProductList.

    Mantenha o aplicativo aberto. Na próxima etapa, você fará alterações no aplicativo em execução.

Fazendo alterações no aplicativo em execução

Na próxima etapa, você modificará a tela Lista de Produtos enquanto o aplicativo estiver em execução.

Para personalizar uma tela em tempo de execução

  1. No canto inferior direito da tela Lista de Produtos, escolha o link Criar Tela.

  2. No painel à esquerda, escolha o nó Grade de Dados | Descontos do Produto.

  3. Na janela Propriedades, defina a propriedade Nome para Exibição como Descontos da Contoso.

    O nome também muda na janela do aplicativo.

  4. Escolha o campo MSRP e defina a propriedade Descrição como Preço sugerido antes de qualquer desconto.

    Personalização de tempo de design

  5. Escolha o botão Salvar para retornar ao aplicativo em execução e exibir as alterações.

    Por exemplo, você pode apontar para o campo MSRP para mostrar a descrição.

  6. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  7. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criando uma consulta

Na próxima etapa, você criará uma consulta parametrizada e a associará a uma tela.

Para criar uma consulta parametrizada

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Produtos e escolha Adicionar Consulta.

    O Designer de Consulta é aberto.

  2. Na janela Propriedades, selecione a caixa de texto Nome e insira RelatedProducts.

  3. No Designer de Consulta, escolha o link Adicionar Filtro.

    Uma condição de filtro é adicionada à seção Filtrar.

  4. Na segunda lista, escolha Categoria.

  5. Na quarta lista, escolha Parâmetro.

  6. Na quinta lista, escolha Adicionar Novo.

    Um novo Parameter chamado Category do tipo String é adicionado à seção Parâmetros.

    A consulta RelatedProducts

  7. Em Gerenciador de Soluções, abra o menu de atalho do nó ProductList.lsml e, em seguida, escolha Abrir.

  8. Na barra de ferramentas do Designer de Tela, escolha o botão Adicionar Item de Dados.

  9. Na caixa de diálogo Adicionar Item de Dados, escolha o botão de opção Consulta.

  10. Na coluna Nome, escolha PrescriptionContoso.RelatedProducts e selecione o botão OK.

    Um nó RelatedProducts aparece no painel à esquerda.

  11. Em Parâmetros da consulta, selecione o nó Categoria.

  12. Na janela Propriedades, defina a propriedade Associação de Parâmetros como Products.SelectedItem.Category.

  13. No painel central, expanda o nó Adicionar abaixo do nó DataGrid | Descontos do Contoso e escolha Produtos Relacionados.

    Adicionar produtos relacionados

  14. Escolha a tecla F5 para executar o aplicativo e exibir os resultados.

    Caso você abra a tela Lista de Produtos, uma lista de produtos relacionados é exibida para cada produto selecionado.

  15. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  16. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Adicionar um campo calculado

Na próxima etapa, você adicionará um campo que usa um valor computado. O valor computado será o preço de um produto após ser aplicado o desconto.

Para adicionar um campo computado

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó de entidade Products.lsml e, em seguida, escolha Abrir.

  2. No Designer de Dados, na barra Perspectiva, escolha a guia Servidor.

  3. Escolha o link Adicionar Propriedade, insira CurrentPrice e escolha a tecla Tab.

  4. Na coluna Tipo, abra a lista e escolha Dinheiro.

    Na janela Propriedades, na seção Geral, a caixa de seleção Computado é marcada como padrão.

  5. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda.

  6. Na janela Propriedades, escolha o link Editar Método.

    O Editor de Códigos é aberto e exibe o método CurrentPrice_Compute.

  7. Adicione o seguinte código ao manipulador de eventos:

    Dim rebates As Decimal
        For Each item In ProductRebates
            If item.RebateStart <= Date.Today And item.RebateEnd >= Date.Today Then
                rebates = rebates + item.Rebate
            End If
        Next
    
        result = Me.MSRP - rebates
    
    decimal rebates = default(decimal);
    
    
                foreach (var item in ProductRebates)
                {
                    if (item.RebateStart <= System.DateTime.Today && item.RebateEnd >= System.DateTime.Today)
                    {
                        rebates += item.Rebate.Value;
                    }
                }
    
                result = this.MSRP - rebates;
    

    Código para calcular o preço atual

  8. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

No próximo procedimento, você adicionará o campo computado à tela ProductList.

Para adicionar um campo computado a uma tela

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó de tela ProductList.lsml e, em seguida, escolha Abrir.

  2. No painel à esquerda do Designer de Tela, mova o nó CurrentPrice abaixo do nó (Descrição) | Descrição no painel central.

    Preço atual depois de arrastar e soltar

  3. Escolha a tecla F5 para executar o aplicativo e exibir os resultados.

  4. Na tela ProductList, edite o campo Desconto ou MSRP.

    O CurrentPrice é recomputado.

  5. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  6. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar uma relação entre bancos de dados

Na próxima etapa, você criará uma relação virtual entre entidades em dois bancos de dados e exibirá dados de duas fontes em uma única tela Lista e Detalhes.

Para criar uma relação entre bancos de dados

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó InvoiceDetails.lsml e escolha Abrir.

  2. Em Designer de Dados, na barra de ferramentas, escolha o botão Relação.

    A caixa de diálogo Adicionar Novo Relacionamento é aberta.

  3. Na coluna Para, escolha o campo Nome, abra a lista e selecione Produto.

    Uma nova seção é exibida na parte inferior da caixa de diálogo. A seção mostra os campos relacionados das duas entidades. Se necessário, você poderá alterar os campos relacionados a outro campo do mesmo tipo de dados ou definir vários campos relacionados como chaves.

    Uma relação entre bancos de dados

  4. Escolha o botão OK para salvar a relação.

    O designer mostra a nova relação como uma linha pontilhada. Essa linha indica que as entidades estão em diferentes fontes de dados. Nesse caso, InvoiceDetails é do banco de dados intrínseco e Products é do banco de dados PrescriptionContoso.

  5. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Criar uma tela para exibir faturas

Na próxima etapa, você criará uma tela para exibir faturas.

Para criar uma tela

  1. Em Gerenciador de Soluções, escolha o nó Telas e, na barra de menus, escolha Projeto, Adicionar Tela.

    A caixa de diálogo Adicionar Nova Tela é aberta.

  2. Na lista Selecionar um modelo de tela, escolha Tela de Lista e Detalhes.

  3. Na caixa de texto Nome da Tela, insira InvoiceScreen.

  4. Na lista Dados da Tela, escolha Faturas.

  5. Na lista Dados Adicionais para Inclusão, escolha Detalhes da Fatura e Invoice InvoiceDetails e escolha o botão OK.

    O layout de InvoiceScreen

  6. Expanda o nó Linha da Grade de Dados | Detalhes da Fatura e exclua o nó Identificação do Produto.

  7. Para reorganizar os campos, mova os nós Quantidade e Preço Unitário no nó Produto.

  8. Escolha a tecla F5 para executar o aplicativo.

  9. Na barra de menu, escolha Tarefas, Tela de Fatura para exibir a tela.

  10. No painel Faturas, escolha o botão de adição (+) e insira alguns dados da fatura.

    O campo InvoiceStatus fornece uma lista suspensa de valores, e o campo Paciente contém um botão que abre uma caixa de diálogo que lista pacientes.

  11. No painel Detalhes da Fatura, escolha o botão de adição +… e insira alguns dados detalhes da fatura.

    O campo Produto fornece uma lista de produtos do banco de dados PrescriptionContoso.

  12. Escolha o botão Salvar para salvar os dados de fatura e manter o aplicativo aberto.

    No próximo procedimento, você fará alterações no aplicativo em execução.

Modificar a tela Faturas

Na próxima etapa, você alterará a tela Faturas no aplicativo em execução.

Para modificar uma tela do aplicativo em execução

  1. No canto inferior direito da tela Tela de Fatura, escolha o link Criar Tela.

  2. No painel à esquerda, escolha o nó Lista | Faturas, abra a lista Lista e escolha DataGrid.

  3. Escolha o nó Paciente e a seta Mover para Cima na margem esquerda para mover o nó acima do nó Data da Fatura.

    A tela de nota fiscal personalizada

  4. Escolha o botão Salvar para retornar ao aplicativo em execução e exibir as alterações.

  5. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  6. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Definir lógica da tela

Na próxima etapa, você adicionará código para definir a lógica padrão para datas de fatura.

Para definir a lógica de tela

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Invoices.lsml e, em seguida, escolha Abrir.

  2. Em Designer de Dados, na barra de ferramentas, abra a lista Gravar Código e escolha Invoice_Created.

    O Editor de Códigos é aberto e exibe o método Invoice_Created.

  3. No método Invoice_Created, adicione o seguinte código para definir o comportamento padrão das datas:

    InvoiceDate = Date.Today
    InvoiceDue = Date.Today.AddDays(30)
    ShipDate = Date.Today.AddDays(3)
    
    InvoiceDate = System.DateTime.Today;
    InvoiceDue = System.DateTime.Today.AddDays(30);
    ShipDate = System.DateTime.Today.AddDays(3);
    
  4. Em Gerenciador de Soluções, abra o menu de atalho do nó Invoices.lsml e, em seguida, escolha Abrir.

  5. No Designer de Dados, escolha o campo InvoiceDate.

  6. Na barra de ferramentas, abra a lista Gravar Código e escolha InvoiceDate_Changed.

  7. No método InvoiceDate_Changed, adicione o seguinte código para atualizar datas quando o InvoiceDate for alterado:

    InvoiceDue = InvoiceDate.AddDays(30)
    ‘ If the ShipDate is earlier than the new InvoiceDate, update it.
    If ShipDate < InvoiceDate Then
        ShipDate = InvoiceDate.AddDays(2)
    End If
    
    InvoiceDue = InvoiceDate.AddDays(30); 
        // If the ShipDate is earlier than the new InvoiceDate, update it
    if (ShipDate < InvoiceDate)
        {
            ShipDate = InvoiceDate.AddDays(2);
        }
    
  8. Em Gerenciador de Soluções, abra o menu de atalho do nó InvoiceDetails.lsml e escolha Abrir.

  9. Em Designer de Dados, escolha o campo Produto.

  10. Na barra de ferramentas, abra a lista Gravar Código e escolha Product_Changed.

  11. No Editor de Códigos, adicione o seguinte código para definir o preço unitário e a quantidade padrão:

    UnitPrice = Product.CurrentPrice
    Quantity = 1
    
    UnitPrice = Product.CurrentPrice;
    
    Quantity = 1;
    
  12. Escolha a tecla F5 para executar o aplicativo, abra a tela Fatura e adicione uma fatura.

    Os campos de data, preço e quantidade são atualizados automaticamente agora.

  13. Escolha o botão Salvar para salvar suas alterações.

  14. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  15. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Adicionar mais campos calculados

Na próxima etapa, você adicionará campos computados para Subtotal, Imposto e Totais às entidades InvoiceDetails e Invoices.

Para adicionar campos computados

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó InvoiceDetails.lsml e escolha Abrir.

  2. No Designer de Dados, escolha o link Adicionar Propriedade, insira SubTotal e escolha a tecla Tab.

  3. Na coluna Tipo, abra a lista e escolha Dinheiro.

  4. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda

  5. Na janela Propriedades, na seção Propriedades Gerais, marque a caixa de seleção IsComputed e escolha o link Editar Método.

    O Editor de Códigos é aberto e exibe o método SubTotal_Compute.

  6. Adicione o seguinte código para computar o SubTotal:

    result = Quantity * UnitPrice
    
    result = Quantity * UnitPrice;
    
  7. Em Gerenciador de Soluções, abra o menu de atalho do nó Invoices.lsml e, em seguida, escolha Abrir.

  8. No Designer de Dados, escolha o link Adicionar Propriedade, insira Imposto e escolha a tecla Tab.

  9. Na coluna Tipo, abra a lista e escolha Dinheiro.

  10. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda.

  11. Na janela Propriedades, marque a caixa de seleção Computado e escolha o link Editar Método.

    O Editor de Códigos é aberto e exibe o método Tax_Compute.

  12. Substitua o método Tax_Compute pelo seguinte código para computar o Tax:

    Private Sub Tax_Compute(ByRef result As Decimal)
        result =  GetSubTotal() * 0.095
    End Sub
    Protected Function GetSubTotal() As Decimal
        GetSubtotal = 0
        For Each item In InvoiceDetails
            GetSubTotal = GetSubTotal + item.SubTotal
        Next
    End Function
    
    partial void Tax_Compute(ref decimal result)
        {
            result = GetSubTotal() * (decimal)0.095;
        }
    protected decimal GetSubTotal()
        {
            return this.InvoiceDetails.Sum(i => i.SubTotal);
        }
    
  13. Em Gerenciador de Soluções, abra o menu de atalho do nó Invoices.lsml e, em seguida, escolha Abrir.

  14. No Designer de Dados, escolha o link Adicionar Propriedade, insira Total e escolha a tecla Tab.

  15. Na coluna Tipo, abra a lista e escolha Dinheiro.

  16. Na janela Propriedades, digite $ na caixa de texto Símbolo de Moeda.

  17. Na janela Propriedades, marque a caixa de seleção Computado e escolha o link Editar Método.

    O Editor de Códigos é aberto e exibe o método Total_Compute.

  18. Adicione o seguinte código para computar o Total:

    result = GetSubTotal() + Tax
    
    result = GetSubTotal() + Tax;
    
  19. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Na próxima etapa, você adicionará os novos campos à tela Faturas.

Para adicionar campos a uma tela

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó InvoiceScreen.lsml e, em seguida, escolha Abrir.

  2. No painel central, expanda o nó Layout das Linhas | Detalhes da Fatura, expanda a lista Adicionar e escolha Imposto.

    O campo Imposto aparece na seção Pilha Vertical | InvoiceDetails.

  3. Abra a lista Adicionar novamente e escolha o campo Total.

  4. Escolha a tecla F5 para executar o aplicativo e abra a tela Tela de Fatura.

    Os campos Imposto e Total são exibidos para cada linha de fatura agora.

  5. Escolha o link Criar Tela para alterar o modo de personalização.

  6. No painel à esquerda, expanda o nó Linha da Grade de Dados | Detalhes da Fatura, expanda a lista Adicionar e escolha Subtotal.

  7. Escolha o botão Salvar para salvar a alteração.

    Um campo Subtotal agora é exibido na grade Detalhes de Fatura.

    A tela de fatura atualizada

  8. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  9. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Adicionar um cliente móvel

Até agora, as telas que você criou são otimizadas por entrada de dados em um computador da área de trabalho. Algumas tarefas na clínica, como a exibição das informações do paciente e próximos compromissos são mais adequados para dispositivos móveis. É possível usar o LightSwitch para criar as telas que os usuários podem exibir em um navegador na maioria dos tablets e telefones. No próximo passo, você criará telas de cliente HTML para procurar pacientes e consultas.

Para adicionar um projeto de cliente HTML

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Vision Clinic e escolha Adicionar Cliente.

  2. Na caixa de diálogo Adicionar Cliente, escolha o item Cliente HTML e o botão OK.

    Um projeto VisionClinic.HTMLClient é adicionado à solução.

Para adicionar uma tela para procurar pacientes

  1. No Gerenciador de Soluções, no projeto Vision Clinic.Server, abra o menu de atalho do nó Patients.lsml e, em seguida, clique em Abrir.

  2. Na barra Perspectiva, escolha a guia HTMLClient e, na barra de ferramentas, clique no botão Tela.

    A caixa de diálogo Adicionar Nova Tela é aberta.

  3. Na lista Selecionar um modelo de tela, escolha Tela Procurar Dados.

  4. Na lista Dados da Tela, escolha Pacientes e clique no botão OK.

Para personalizar a tela de pesquisa

  1. No Designer de Tela, na Árvore de Conteúdo de Tela, escolha o nó Lista | Pacientes.

  2. Na lista Lista, escolha Lista Lado a Lado.

    Essa opção exibirá um quadro para cada paciente. Por padrão, o quadro mostra todos os campos do paciente.

  3. No nó Layout das Linhas | Patient, exclua todos os campos, exceto Nome, Sobrenome e Número de Política.

  4. No Gerenciador de Soluções, no projeto Vision Clinic.HTMLClient, abra o menu de atalho do nó BrowsePatients.lsml e, em seguida, escolha Definir como Tela Inicial.

  5. Escolha a tecla F5 para executar o aplicativo.

    Se você redimensionar a janela do navegador, a disposição lado a lado será alterada à medida que a janela ficar mais estreita, otimizando a exibição para as telas de dispositivos menores, como telefones.

  6. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  7. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

    Em seguida, você adicionará uma tela para exibir os detalhes do paciente.

Para adicionar uma tela de detalhes

  1. No Designer de Tela, na Árvore de Conteúdo de Tela, escolha o nó Lista Lado a Lado | Pacientes.

  2. Na janela Propriedades, na seção Ações, escolha o link Toque em Item: Nenhum.

  3. Na caixa de diálogo Editar Ação de Toque em Item, expanda a lista ShowTab, escolha viewSelected e o botão OK.

  4. Na caixa de diálogo Adicionar Nova Tela, aceite os valores padrão e escolha o botão OK.

  5. Escolha a tecla F5 para executar o aplicativo.

  6. Na tela Procurar Pacientes, escolha um paciente para abrir a tela Exibir Paciente.

    Os campos Telefone Primário, Telefone Secundário e Email são hiperlinks. Esses campos são baseados em tipos de negócios personalizados e na capacidade de iniciar um telefonema ou de enviar um email ser interna nos controles personalizados desses tipos.

  7. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  8. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

    Em seguida, você adicionará uma tela baseada em consulta para exibir as próximas consultas.

Para criar uma consulta

  1. No Gerenciador de Soluções, abra o menu de atalho do nó Appointments.lsml e escolha Adicionar Consulta.

  2. Na janela Propriedades, digite UpcomingAppointments na caixa de texto Nome.

  3. No Designer de Consulta, escolha o link Adicionar Filtro.

  4. Na terceira lista, escolha = (é maior que ou igual a).

  5. Na quarta lista, escolha Global.

  6. Na quinta lista, escolha Hoje.

  7. Escolha o link Adicionar Filtro novamente.

  8. Na segunda lista, escolha AppointmentTime.

  9. Na terceira lista, escolha = (é maior que ou igual a).

  10. Na quarta lista, escolha Global.

  11. Na quinta lista, escolha Agora.

  12. Escolha o link Adicionar Classificação e aceite os valores padrão de AppointmentDate e Crescente.

  13. Escolha o link Adicionar Classificação novamente e aceite os valores padrão de AppointmentTime e Crescente.

    Consulta de compromissos futuros

  14. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Para criar uma tela de consulta

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Appointments.lsml e, em seguida, escolha Abrir.

  2. No Designer de Dados, na barra Perspectiva, escolha a guia HTMLClient.

  3. Na janela Propriedades, abra a lista Propriedade de Resumo e escolha AppointmentTime.

  4. No Designer de Dados, na barra de ferramentas, escolha o botão Tela.

  5. Na caixa de diálogo Adicionar Nova Tela, na lista Selecione um modelo de tela, escolha Tela Procurar Dados.

  6. Na lista Dados da Tela, escolha UpcomingAppointments e escolha o botão OK.

Para criar uma tela de detalhes de consulta

  1. No Designer de Tela, na Árvore de Conteúdo de Tela, escolha o nó Lista | Próximos Compromissos.

  2. Na janela Propriedades, na seção Ações, escolha o link Toque em Item: Nenhum.

  3. Na caixa de diálogo Editar Ação de Toque em Item, expanda a lista ShowTab, escolha viewSelected e o botão OK.

  4. Na caixa de diálogo Adicionar Nova Tela, aceite os valores padrão e escolha o botão OK.

Para adicionar navegação de tela

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó Vision Clinic.HTMLClient e escolha Editar Navegação de Tela.

  2. No Designer de Aplicativos, escolha o link Tela Incluir e, em seguida, escolha Procurar Pacientes.

  3. Escolha o link Tela Incluir novamente e, em seguida, escolha Procurar Próximos Compromissos.

  4. Escolha a tecla F5 para executar o aplicativo.

  5. Na tela Procurar Pacientes, escolha a seta para baixo ao lado da barra de título e, em seguida, escolha Procurar Próximos Compromissos para abrir a tela Compromissos.

    Barra de título com o menu suspenso de navegação

    A tela Compromissos agora tem um botão voltar, que você pode clicar para retornar à tela Pacientes. Quando você redimensiona a janela do navegador, o menu de navegação continua disponível, mas o título é truncado. Você corrigirá o problema adicionando qualquer código JavaScript no procedimento final.

  6. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  7. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Para modificar o título da tela

  1. Em Gerenciador de Soluções, abra o menu de atalho do nó BrowseUpcomingAppointments.lsml e, em seguida, escolha Abrir.

  2. No Designer de Tela, na barra de ferramentas, abra a lista Gravar Código e escolha criado.

  3. No Editor de Códigos, adicione o seguinte código ao método criado:

    screen.details.displayName = "Appointments";
    
  4. Escolha a tecla F5 para executar o aplicativo.

  5. Na tela Procurar Pacientes, escolha a seta para baixo ao lado da barra de título e, em seguida, escolha Procurar Próximos Compromissos para abrir a tela Compromissos.

    O título agora é Compromissos.

  6. No canto superior direito do aplicativo em execução, escolha o botão Fechar para retornar ao modo de design.

  7. Na barra de menus, escolha Arquivo, Salvar todos para salvar seu trabalho.

Esse procedimento conclui a explicação passo a passo do Aplicativo Vision Clinic. Agora você deve ter uma compreensão básica do processo de criação de ponta a ponta de um aplicativo LightSwitch.

Nesse ponto você pode publicar seu aplicativo no IIS (Serviços de Informações da Internet) ou no Microsoft Azure, disponibilizando-o para outros usuários.

Esta explicação passo a passo demonstrou os recursos básicos do LightSwitch, mas é possível fazer muito mais com ela. Enquanto começa a criar seus próprios aplicativos, você pode saber mais recursos na documentação do produto.

Consulte também

Conceitos

LightSwitch Tour guiado

Visual Studio LightSwitch

Outros recursos

Introdução a LightSwitch