ASP .NET - Revendo conceitos - Aplicação Currículos web - I
Uma das técnicas de aprendizado é conhecida como "Fazendo e Aprendendo", onde partimos diretamente para a prática e conforme vamos construindo uma aplicação vamos aprendendo os conceitos relacionados durante a sua construção.
Pois neste artigo iremos trilhar este caminho para rever conceitos ASP .NET enquanto construímos uma aplicação simples mas funcional usando os recursos da tecnologia ASP .NET.
Objetivo
O objetivo da aplicação é permitir o cadastramento de usuários e seus currículos na internet. Ela também permitirá a edição e visualização do currículo de um usuário no formato PDF.
A aplicação usa os recursos básicos de uma aplicação ASP .NET usando os Web Forms e foi construída de uma forma onde poderemos aprender os seguintes conceitos:
Recursos usados
Definindo o modelo de dados
Como esta é um abordagem tradicional cujo objetivo é rever conceitos ASP .NET com acesso a um banco de dados relacional eu não vou usar nenhuma ferramenta ORM como NHibernate ou o Entity Framework mas vou começar construindo o banco de dados e as tabelas da aplicação usando o SQL Server Management Studio.
A aplicação irá acessar um banco de dados SQL Server 2005 chamado Curriculos e conterá as seguintes tabelas:
A estrutura de cada tabela é dada a seguir:
|
|
Usurios | InfoPessoal |
InfoEducacao | InfoProfissional |
As tabelas InfoEducacao, InfoProfissional e InfoHabilidades possuem os mesmos campos e não possuem chave primária nem o campo usuarioid não é do tipo identidade | |
InfoHabilidades |
O diagrama de relacionamento entre as tabelas pode ser visto a seguir:
Criando uma aplicação ASP .NET Web Forms
A ASP .NET faz parte do .NET Framework e por isso aproveita ao máximo os
recursos da programação orientada a objetos oferecidos pela plataforma. Quando
você cria uma página web usando ASP .NET você esta criando um objeto com
comportamento (os eventos da página), os comandos (métodos) e os estados
(os objetos instanciados).
A abordagem de desenvolvimento Web Forms da ASP .NET é semelhante ao
desenvolvimento desktop para o VB .NET onde cada objeto de uma página pode ser
programado e possui eventos. A figura abaixo mostra o modelo
Web Forms em
ação:
Usando Web Forms podemos incluir um controle Button em uma página e manipular a ação do usuário ao clicar no botão colocando código no evento Click do botão.
O outro modelo de desenvolvimento de aplicações web com ASP .NET é o modelo ASP .NET MVC, sobre o qual eu não vou dar mais detalhes neste artigo.
O termo Web Form na verdade significa uma página web e uma página ASP .NET possui controles de servidor ou seja objetos. Um Web Form é composto por dois arquivos: um arquivo contendo o código de marcação e um arquivo contendo código mais conhecido como code-behind. Para executar uma página ASP .NET você precisa de um navegador para renderizar o código de marcação (gerando HTML) e de um servidor web para executá-lo.
Para mostrar como isso funciona na prática vamos iniciar com a criação do nosso web site usando o Visual Web Developer 2010 Express Edition.(VWD 2010)
Abra o VWD 2010 e no menu File clique em New Web Site e a seguir selecione a linguagem Visual C# e o template ASP .NET Web Site;
Informe o nome Curriculos e tecle em OK;
Ao utilizar o template ASP .NET Web Site teremos uma estrutura de pastas e arquivos previamente criados e nosso projeto irá aproveitar alguns destes arquivos e vamos excluir outros.
Exclua os seguintes arquivos do web site:
Vamos incluir as seguintes pastas em nosso web site:
Para incluir estas pastas selecione o menu WebSite e clique em New Folder informando o nome da pasta. Após criar as pasta vamos incluir os arquivos usados no projeto em cada pasta.
Obs: A pasta App_Code será criada quando formos definir a classe Curriculo no projeto.
Nosso web site irá possuir as seguintes páginas:
As páginas About.aspx e Default.aspx serão aproveitadas a partir do template gerado. As demais mais páginas serão incluídas no projeto a partir do menu WebSite-> Add New Item -> Web Form;
Após informar o nome do arquivo marque as opções : Select master page e Place code in separate file
Seguiremos este procedimento para criar as páginas : Menu.aspx, EditarCurriculo.aspx, ErroLogin.aspx e VisualizarCurrilo.aspx
Nossa aplicação também usará os seguintes arquivos:
A estrutura do Web Site, após a criação das páginas, pode ser visto na janela Solution Explorer conforme figura a seguir;
Fazendo pequenos ajustes
Vamos ajustar o arquivo Master page Site.Master para exibir o seguinte leiaute:
O código necessário para incluir a imagem e o título da página é o seguinte:
................. <div class="title"> <h2> <asp:Image ID="Image1" runat="server" Height="102px" ImageUrl="~/Imagens/curriculo4.jpg" Width="205px" /> <span class="style1"> Currículos Web</span> </h2> </div> ................ |
O código necessário no arquivo Site.Master para incluir a guia Menu é dado a seguir:
............. <div class="clear hideSkiplink"> <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> <Items> <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/> <asp:MenuItem NavigateUrl="~/Menu.aspx" Text="Menu"/> <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/> </Items> </asp:Menu> </div> ................ |
A página About.aspx possuirá o seguinte leiaute:
Ajustando o arquivo Global.asax
Vamos incluir a string de conexão com o banco de dados no arquivo Global.asax no evento Application_Start de forma que ela estará disponível assim que a aplicação iniciar e poderemos acessá-la em toda a aplicação;
O arquivo
Global.asax
( lembra do Global.asa no ASP
? ) é um arquivo texto que
pode ser usado ou não (ele é opcional ) na configuração de uma aplicação
Web. Cada arquivo Global.asax
deve estar presente no diretório raiz da aplicação web. O arquivo Global.asax contém código que deve ser executado em resposta a alguns eventos relacionados a uma aplicação web. Abaixo uma estrutura básica com seus métodos mais importantes:
|
Abaixo vemos a linha de código relativa a string de conexão com o banco de dados Curriculo no SQL Server 2005;
<%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // Code that runs on application startup Application["ConexaoDBSQLCurriculos"] = @"Data Source=.\SQLEXPRESS;Initial Catalog=Curriculos;Integrated Security=SSPI;"; } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { //Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file. If session mode is set to StateServer // or SQLServer, the event is not raised. } </script>
|
Criando a classe Curriculo
Vamos incluir uma classe chamada Curriculo que será usada para receber e obter informações de um currículo;
No menu Web Site -> Add New Item selecione o template Class e informe o nome Curriculo.cs;
O arquivo será criado na pasta App_Code e deverá possuir o seguinte código:
using System; public class Curriculo { public int ID { get; set; } public int UsuarioID { get; set; } public string nome { get; set;} public string endereco { get; set;} public string cidade { get; set;} public string estado { get; set;} public string cep { get; set;} public string pais { get; set;} public string telefone { get; set;} public string celular { get; set;} public string email { get; set;} public DateTime nascimento { get; set;} public string foto { get; set; } public int ativo { get; set;} // public string infoEducacao { get; set; } public string infoProfissional { get; set; } public string infoHabilidades { get; set; } } |
O arquivo web.config é criado por padrão e contém a string e conexão para o banco de dados aspnetdb.mdf usado para realizar a autenticação do usuário.
No nosso exemplo não vamos usar este recurso mantendo apenas o arquivo web.config original.
Incluindo a referência a biblioteca iTextSharp
Como iremos gerar arquivos PDF vamos usar a biblioteca iTextSharp referenciando-a em nosso projeto.
Então primeiro faça o download da library para poder referenciá-la em seu projeto web. Eu fiz o download da library e a descompactei em: C:\Program Files (x86)\itextsharp-all-5.1.2\itextsharp-dll-core-5.1.2
Vamos agora incluir uma referência a biblioteca iTextSharp em nosso projeto clicando com o botão direito sobre o nome do projeto e selecionando a opção Add Reference;
A seguir na janela Add Reference, clique na guia Browse e selecione a biblioteca itextsharp.dll do local onde você a instalou;
Dessa forma temos toda estrutura pronta para podermos definir as demais páginas e criar a nossa aplicação.
Na segunda parte do artigo vamos começar definindo a página Default.aspx onde é feito o login do usuário e onde cadastramos um novo usuário.
Aguarde a continuação em : ASP .NET - Revendo conceitos - Aplicação Currículos web - II
"Quem ama a sua vida perde-la-á, e quem neste mundo aborrece a sua vida, guarda-la-á para a vida eterna." João 12:25
Referências: