Por que eu devo ler este artigo:A utilização de gráficos nas aplicações comerciais vem se tornando cada dia mais presente nas diferentes plataformas, como WPF, Windows Phone, Windows 8, dentre outras.

Existem atualmente diversas bibliotecas para criação de gráficos e em geral esses controles comerciais costumam apresentar muito mais do que apenas gráficos e, muitas vezes eles são muito caros para se produzir e manter.

Iremos apresentar aqui uma biblioteca rica graficamente, a ModernUI Charts, que busca apresentar recursos úteis para a criação dinâmica dos gráficos mais utilizados no nosso dia a dia com o objetivo de criar aplicações mais interessantes para os clientes finais, com melhor desempenho e menor custo financeiro. Para ver como essa biblioteca funciona, iremos criar uma tela com gráficos dinâmicos.

As aplicações, sejam desktop ou web, costumam usar uma grande massa de dados para termos ciência de que rumo os negócios podem tomar. Para apresentar esses resultados de forma mais amigável para o cliente ou nossos superiores, usamos gráficos, mas nem sempre é fácil de se desenvolver ou utilizá-los, o que nos leva ao uso de bibliotecas que podem nos auxiliar a obter o resultado que desejamos com base em estruturas pré-formatadas.

Esses dados podem ser passados tanto por uma única base de dados como por várias bases, o que pode exigir um pouco mais de conhecimento na área.

O WPF (Windows Presentation Foundation) é uma das tecnologias .NET mais utilizadas no mercado para a criação de aplicações ricas graficamente para o usuário final.

Uma das apresentações gráficas mais úteis e que é vista em muitos projetos é a representação gráfica no formato bidimensional, que conta com os tipos linha, múltiplas linhas, retângulo, elipse, dentre outros modelos.

Mas o desenvolvimento de um gráfico rico em recursos visuais é muito cansativo. O que seria melhor é se a mesma biblioteca pudesse ser utilizada para WPF e outras aplicações, que é o que veremos daqui pra frente neste artigo.

Apresentaremos neste artigo uma biblioteca gratuita que pode ser utilizada para aplicações WPF e que teoricamente suporta os conceitos de aplicações Silverlight e Windows Store App. Esta biblioteca foi desenvolvida por Torsten Mandelkow e é chamada de ModernUI.

A biblioteca ModernUI pode ser utilizada livremente em nossos aplicativos, pois ela está sob a Licença Pública da Microsoft. Os tipos de gráficos presentes nesta biblioteca são os de barras, pizza, colunas, medidor radial e Doughnut. Todos livres de custos!

Criando uma aplicação utilizando Web API e WPF com a biblioteca ModernUI

Neste artigo vamos apresentar um exemplo de utilização da biblioteca no qual utilizaremos a base de dados pronta pertencente à Microsoft, a AdventureWorks2012_database.

Em nossa aplicação usaremos a ASP.NET Web API para realizarmos uma busca por nossos dados de vendas e, em seguida, disponibilizá-los para a nossa aplicação WPF, onde serão exibidos os nossos gráficos.

Além disso, utilizaremos o Visual Studio 2013 Ultimate (mas a versão Express também possui os recursos necessários) e o SQL Server 2014 para a realização dos nossos testes. Os links de download dessas tecnologias encontram-se na seção Links, ao final do artigo.

Para começarmos a nossa aplicação devemos criar uma solução vazia, que no nosso exemplo será chamada de GraficosModernos. Em seguida, como apresentado pela Figura 1, adicionaremos um novo projeto Web API chamado GraficosAPI. Ao criarmos o nosso projeto na solução vazia, este já carrega os pacotes básicos e suas referências para utilização.


abrir imagem em nova janela

Figura 1. Criação da solução GraficosModernos e do projeto GraficosAPI.

Agora adicionaremos a ele um ADO.NET Entity Data Model. Dê o nome para o item de GraficoModel, como mostrado pela Figura 2. Ao criarmos o nosso modelo podemos observar que uma nova janela foi aberta para que, a partir daí, possamos escolher uma das opções apresentadas.

Figura 2. Adição de uma entidade modelo.

Figura 3. Wizard para a chamada da base de testes.

Como apresentado pela Figura 3, estamos com a tela do wizard aberta após termos criado o item GraficosModel. Nela selecionamos a opção de “Generate from database”, que fará toda a estruturação de nosso modelo baseado nas tabelas existentes na base de dados selecionada.

Em seguida, selecionaremos a fonte de dados que iremos utilizar, como apresentada pela Figura 4.

Figura 4. Seleção da fonte de dados para a aplicação.

Veja que selecionamos um arquivo existente da base de dados SQL SERVER: automaticamente já temos o data provider que será utilizado por padrão. Deixemos então as configurações como apresentadas e sigamos para o próximo item que é a criação de nossa conexão com a base de dados escolhida, como apresentado pela Figura 5.

Figura 5. Configuração das propriedades da conexão a ser utilizada.

Estamos realizando as configurações de conexão que iremos precisar para acessar a nossa base de dados AdventureWorks2012_Database. Utilize as seguintes configurações:

· Data source: Microsoft SQL Server Database File (SQL Client);

· Database file name: C:\Program Files\Microsoft SQL Server\MSSQL1. Veja que esse é o caminho padrão, mas se o banco estiver em outro caminho, indique-o aqui.

· Log on to the server: Use Windows Authentication.

Ao final, teste a conexão com o banco usando a opção Test Connection para verificar se a conexão estará funcionando corretamente.

Figura 6. Confirmação das configurações para uso da base de dados.

Por último, como apresentado pela Figura 6, selecionamos a nossa base de dados e a ferramenta nos apresenta a string de conexão que será utilizada no projeto.

Após o wizard ter sido concluído corretamente, vemos na tela do Visual Studio o modelo da tabela de Territórios que selecionamos para utilizar, apresentado pela Figura 7.

O nosso próximo passo agora será criar um controlador com base no nosso modelo. Este será gerado através de um Scaffold, que é um gerador de código presente na nossa ferramenta do Visual Studio. Para criarmos o nosso controlador, faremos de acordo com as setas da Figura 8.

Figura 7. Modelo da tabela VendasTerritory.

...
Quer ler esse conteúdo completo? Tenha acesso completo