Artigo .net Magazine 67 - Desenvolvimento de uma aplicação simples e completa com Silverlight

Desenvolvimento de uma aplicação simples e completa

Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Do que se trata o artigo

Introdução ao uso do Silverlight para desenvolvimento de web sites, bem como seus principais controles. Também é mostrado como criar um web service que fornecerá dados que serão utilizados no desenvolvimento de um aplicativo de demonstração que fará operações de consulta, exclusão, inclusão e alteração.

Para que serve

Desenvolvimento de aplicações web com interfaces ricas, que exploram o visual sem comprometer o desempenho da aplicação.

Em que situação o tema e útil

A criação de aplicações em Silverlight pode ser uma alternativa no desenvolvimento para web. Pode-se criar aplicações específicas como alguns módulos de ERP, por exemplo, resultando em aplicações poderosas, ricas e interativas, o que é chamado de RIA (Rich Internet Applications).

Resumo do DevMan

Silverlight 3.0 é uma nova luz no caminho dos desenvolvedores, onde os mundos web e Windows se aproximam ainda mais. Os termos mais utilizados quando o assunto é aplicação versus usuário são: interatividade, interfaces ricas, eficiência, entre outros. Neste artigo vamos explorar o que o Silverlight oferece para melhorar a usabilidade de aplicativos web desenvolvendo um pequeno, porém completo, exemplo de acesso e manutenção a dados.
Autores: Brenno Sant'Anna Scarpelini e Drausio Henrique Chiarotti

O Silverlight 3.0 permite criar aplicações web com interface rica, além de possibilitar o acesso a dados de forma assíncrona, o que permite a execução da aplicação enquanto se obtém dados. Neste artigo vamos construir uma aplicação simples, porém completa, que mostra as funcionalidades disponíveis. Vamos abordar o uso dos controles mais comuns como TextBox, ListBox, DataGrid e outros. Além disso também será construído um web service que irá popular esse DataGrid.

Nesta aplicação vamos partir do início, criaremos primeiramente o banco de dados, passaremos pelas regras de negócio e o desenvolvimento da interface em si. Tudo isso com o objetivo de que você, leitor, comece a utilizar hoje mesmo o Silverlight. Mas antes disso, certifique-se que tenha baixado os pacotes necessários para o Visual Studio 2008 no link “Get Started” (confira a seção de links no final do artigo).

Nota

O foco deste artigo é construir uma aplicação prática. Para uma introdução ao Silverlight, consulte a edição 64.

Criando o banco de dados

Neste projeto vamos utilizar o Microsoft SQL Server 2005. Crie uma tabela com o nome tblPessoa e adicione os campos IDPessoa, Nome, DataNascimento e Sexo, conforme a Listagem 1.

Listagem 1. Tabela Pessoa

CREATE TABLE [dbo].[tblPessoa]( [IDPessoa] [int] IDENTITY(1,1) NOT NULL, [Nome] [varchar](100) NULL, [DataNascimento] [datetime] NULL, [Sexo] [bit] NULL, CONSTRAINT [PK_tblPessoa] PRIMARY KEY CLUSTERED ([IDPessoa] ASC) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]

Note que com os quatro campos poderemos utilizar controles do tipo TextBox para edição dos dados e um ListBox para trabalhar com o campo Sexo. O campo IDPessoa é autoincremento e será utilizado para controlar os registros.

Vamos agora criar dois procedimentos (Stored Procedures) que usaremos para acessar os dados da tabela. Crie os procedimentos das Listagens 2 e 3 na sua base de dados.

Listagem 2. Procedure de Cadastro

CREATE PROCEDURE uspCadastrarPessoa @Excluir AS BIT = NULL, @IDPessoa AS INT = NULL, @Nome AS VARCHAR(100) = NULL, @DataNascimento AS DATETIME = NULL, @Sexo AS BIT = NULL AS BEGIN BEGIN TRY BEGIN TRAN IF(@Excluir = 1) BEGIN DELETE FROM tblPessoa WHERE IDPessoa = @IDPessoa END ELSE IF (@IDPessoa IS NULL) BEGIN INSERT INTO tblPessoa ( Nome, DataNascimento, Sexo) VALUES (@Nome, @DataNascimento, @Sexo) END ELSE BEGIN UPDATE tblPessoa SET Nome = @Nome, DataNascimento = @DataNascimento, Sexo = @Sexo WHERE IDPessoa = @IDPessoa END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN SELECT ERROR_MESSAGE() AS Retorno END CATCH END

Listagem 3. Procedure de Consulta

CREATE PROCEDURE uspConsultarPessoa @IDPessoa AS INT = NULL, @Nome AS VARCHAR(100) = NULL, @DataNascimento AS DATETIME = NULL, @Sexo AS BIT = NULL AS BEGIN SELECT IDPessoa, Nome, DataNascimento, Sexo, CASE WHEN Sexo = 0 THEN 'FEMININO' ELSE 'MASCULINO' END AS SexoDesc FROM tblPessoa WHERE ((IDPessoa = @IDPessoa) OR (@IDPessoa IS NULL)) AND ((Nome LIKE '%' + @Nome + '%') OR (@Nome IS NULL)) AND ((DataNascimento = @DataNascimento) OR (@DataNascimento IS NULL)) AND ((Sexo = @Sexo) OR (@Sexo IS NULL)) AND ((@IDPessoa IS NOT NULL)OR(@Nome IS NOT NULL)OR(@DataNascimento IS NOT NULL)OR(@Sexo IS NOT NULL)) END

O procedimento da Listagem 2 é responsável por inserir, alterar e excluir dados na tabela de pessoas. Este procedimento funciona da seguinte forma: é verificado se o parâmetro excluir é verdadeiro, então exclui-se o registro. Se não for exclusão, o parâmetro IDPessoa é verificado, e caso seja diferente de NULL a rotina de alteração é executada. E por fim, se for NULL, o registro será incluído.

O procedimento da Listagem 3 ilustra a consulta. Na consulta deve ser enviado pelo menos um dos quatro parâmetros e é retornada uma coleção onde cada registro contém o identificador da pessoa, o nome, a data de nascimento e o sexo. O interessante deste procedimento é que ele pode ser consultado por qualquer um dos quatro parâmetros.

Criando a solução

A solução (solution) é utilizada para agrupar projetos que estão relacionados e guardar as informações das dependências dos projetos que são utilizadas no processo de construção (build). Na nossa aplicação a solução será composta pelos projetos seguintes: acesso a dados, camada de negócios, objeto de transferência, aplicação Silverlight e o web site.

Para criar uma nova solução abra o Visual Studio 2008, acesse o menu “File/New” e então selecione “Project”. Será exibida a janela “New Project”. Localize “Project types”, clique sobre o item “Other Project Types” e então selecione o item “Visual Studio Solutions”. Em “Templates” selecione o item “Blank Solution”. Na parte inferior da janela altere a propriedade “Name” para “SolucaoSilverlight” e altere também a propriedade “Location” informando o local onde a solução será salva.

No Visual Studio, vá no menu View/Solution Explorer. Note que foi criada uma nova solução chamada “SolucaoSilverlight”, onde vamos adicionar nossos projetos.

Criando o projeto de acesso a dados

O primeiro projeto que vamos criar será uma biblioteca de classes (“Class Library”) chamada “AcessoDados”. Aqui é onde será implementada a interação com a base de dados, ou seja, é neste projeto que vamos inserir, alterar e excluir informações do banco de dados.

Para criar um novo projeto, abra a solução, acesse o menu “File/Add” e então selecione “New Project...”. Na janela “Add New Project” selecione o template “Class Library”, altere o campo “Name” para “AcessoDados” e na propriedade “Location” aponte para a pasta onde está sua solução.

Note que foi adicionado um novo projeto na solução, e que este projeto contém uma classe chamada “Class1.cs”. Clique com o botão direto na classe “Class1.cs” e selecione a opção “Delete” para excluir a classe. Vamos criar uma nova classe no projeto “AcessoDados”, portanto clique com o botão direito do mouse no projeto “AcessoDados” e vá até “Add/New Item...”. Na janela “Add New Item” selecione o template “Class”, altere o campo “Name” para “clsAcessoDados” e então clique em “Add”. Adicione o código da Listagem 4 na classe “clsAcessoDados"

[...] continue lendo...

Artigos relacionados