Laboratório 3 WCF RIA Services

Documentos relacionados
Uma introdução ao desenvolvedor do SharePoint. Laboratório prático

Consulta de endereço através do Cep

Passos para a instalação

LAB 18: ASP.NET e Web Services

Orientação a Objetos - Programação em C++

Aula 06 Usando controles em ASP.NET

Configurando uma aplicação Struts

Sobre o Visual C

LIÇÃO 42: APLICAÇÃO SIMPLES CLP-IHM. Projeto botão na IHM que aciona uma saída do CLP. Vá em menu > File > New. Nome do projeto

TUTORIAL PROCESSOS DE INSTALAÇÃO DO MYMIX MOBILE

Simão Pedro P. Marinho

Criando uma agenda simples com NetBeans 6.5

Criando um Site. Por: João Paulo Almeida

Certificado Servidor Web Importação por Microsoft IIS

Certificado Servidor Web Importação por Microsoft IIS

=E4/26 F10 =F4 = G4+F5

Configurando seu Modem TP-Link, 1 - Conectando os Cabos ao Modem

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

Manual do Usuário CMS WordPress MU Versão atual: 2.8

Trabalhando com menus e caixas de diálogos

LAB12: Componentes ASP.NET

Configurar Thin Client X1 e X1W

Criação de uma aplicação Web ASP.NET MVC 4

Unidade: Ferramentas de configuração Tópico: Tabelas e campos definidos pelo usuário

Criando uma aplicação Web em C# usando o NHibernate

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Sistema De Gerenciamento Web UFFS

Tutorial para configurar as bibliotecas TerraView e Qt 3 no Visual Studio 2005

INSTALAÇÃO DE CERTIFICADO SERVIDOR WEB MICROSOFT IIS 5.x

Exercício de Estrutura de dados. Java Fila

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Repeater no GASweb. Regiões

Criar e formatar relatórios

Graphing Basic no Excel 2007

Aula 09 - Atualização de uma tabela dinâmica. Aula 09 - Atualização de uma tabela dinâmica. Sumário. Atualizando a tabela dinâmica

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Tutorial. Georreferenciamento de Imagens. versão /08/2008. Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky

Manual Mobuss Construção - Móvel

Manual de Operações do Painel Administrativo do site

Laboratório opcional: Backup de dados e restauração no Windows 7

testo Saveris Web Access Software Manual de instruções

Podemos também definir o conteúdo dos menus da página inicial. Clique em Menus, Main Menu.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Como configurar o Microsoft Office 2013

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008

PROGRAMAÇÃO SERVIDOR MIDDLEWARE JDBC: USANDO O JAVA DB EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Selecione a opção "Novo" -> "Atalho"

CRIANDO UM MODELO ESTRUTURAL EM REVIT STRUCTURE

Disciplina: INF Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010

HOW TO Como criar e liberar/bloquear categorias personalizadas no AWCA

Manual de Instalação de SQL Server (2005, 2008, 2012).

Script de Configuração dos (Webmail /Outlook Express)

Instrução para Importação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Tutorial 1 o projeto em VB.net

Programando com ASP.NET MVC. Aprenda a desenvolver aplicações web utilizando a arquitetura MVC. Alfredo Lotar. Novatec

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos aplicar os temas e os skins.

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH)

Importação de Certificado Servidor Web IIS 6 e IIS 7

MANUAL DE EXPORTAÇÃO DE CERTIFICADO SERVIDOR WEB APACHE PARA SERVIDOR WEB MICROSOFT IIS

Software livre também faz: Associando imagens com informações geográficas: Geoetiquetação com o plugin Geotag and Import Photos.

Curso: Superior Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina: Sistemas Distribuídos Professor: Társio Ribeiro Cavalcante

STK (Start Kit DARUMA) Extensão PHP para DarumaFrameWork

POO Programação Orientada a Objetos

Guia e Utilização do Visual Studio 6.0

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

Microsoft Visual Studio Express 2012 for Windows Desktop

SOLICITAÇÃO DE CERTIFICADO SERVIDOR WEB MICROSOFT IIS 5.x

Tutorial SGCD. 1. Efetuando Login no Sistema. 2. Criando uma nova página. 3. Editando uma página já existente

Criação de um Web Services em.net

REP idx. Manual de integração com Ponto Secullum 4

Como usar o bluej. Laboratório I Prof.ª Vera Alves

AplusixAdmin: administração do Aplusix 3 Manual de utilização

Rede VPN UFBA Procedimento para configuração

Manual de Instalação: Agente do OCS Inventory NG

MANUAL DO ANIMAIL Terti Software

1º Passo Complemento de Segurança (Apenas no primeiro acesso)

Manual de Instalação e Configuração do SQL Express

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

MANUAL WEBMAIL HORDE-V.01 IBILCE/UNESP

1. Instalação do IIS Internet Information Services

Tutorial do aluno Ambiente Virtual de Aprendizagem (AVA) Rede e-tec Brasil

Boletim Técnico. BI de Taxa Global. Procedimento para Implementação. Atualizações do update/compatibilizador. Produto : TOTVS CCIH

JAVA. Professor: Bruno Toledo

USANDO APPLETS NO NETBEANS (WEB APPLICATION)...E A APPLET CHAMA ALGUM PACOTE EXTERNO (por Luis Alberto M Palhares de Melo Julho/2011)

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

Introdução ao X3. Exercício 1: Criando um registro de Contato

Manual do Usuário- Software CMS. Manual do Usuário. Software CMS. Suporte Técnico:

PREFEITURA DO MUNICÍPIO DE PORTO VELHO SECRETARIA MUNICIPAL DE ADMINISTRAÇÃO SEMAD DEPARTAMENTO DE RECURSOS DA TECNOLOGIA DA INFORMAÇÃO DRTI

1 Criando um aplicativo visual em Java

<NOME>ABIAS FRANCISCO DE SOUZA</NOME> <CNPJCPF> </CNPJCPF> <NMATRICULA>101264</NMATRICULA>

TUTORIAL DE CONFIGURAÇÃO DA REDE WIRELESS ACESSO LIVRE

Orientação a Objetos Programação em C++

Como instalar o sistema Locação de Trajes Free

Protótipo de uma aplicação rica de internet para monitoramento de vídeo através de streaming e Silverlight

Transcrição:

Laboratório 3 WCF RIA Services Continuando com nosso estudo sobre o WCF RIA Services vamos desenvolver mais um laboratório para aprendermos mais alguns recursos do Silverlight. 1) Crie uma aplicação Silverlight Business Application. 2) Adicione um novo item Ado Entity Framework e conecte-se ao banco de dados AdventureWorks. 3) Selecione a tabela Employees. 4) Compile na aplicação servidora (Web). 5) Adicione um novo item Domain Service Class, dê o nome de AdvServiceModel. 6) Selecione a entidade Employees e marque-a para ser editável. 7) Veja que foram criados os métodos do crud para você. Altere o método GetEmployee, de forma que fique como mostrado a seguir: public IQueryable<Employee> GetEmployees() return this.objectcontext.employees.orderby(e=>e.nationalidnumber); 8) Adicione a esta classe mais um método, como mostrado a seguir public IQueryable<Employee> getsalariesemployee() return this.objectcontext.employees.where(e => e.salariedflag == true); 9) Compile novamente para fazer as atualizações. 10) Compile também a aplicação silverlight para criar a classe de metadados no cliente. 11) Expanda todos os arquivos e der uma olhada nesta classe. 12) Adicione mais um link as opções de menu e, dê o nome de EmployeeList, ou seja, abra o XAML da MainPage e acrescente o seguinte código <Rectangle x:name="divider1" Style="StaticResource DividerStyle"/> <HyperlinkButton x:name="link3" Style="StaticResource LinkStyle" NavigateUri="/EmployeesListing" TargetName="ContentFrame" Content="Binding Path=ApplicationStrings.EmployeePageTitle, Source=StaticResource ResourceWrapper"/> 13) Adicione mais uma página Silverlight e nomei como está na Tag NavigateUri, ou seja, como EmployeesListing. 14) No arquivo de recurso da aplicação, na pasta Assets, crie a string EmployeePageTitle e coloque como conteúdo Employees. 15) No Grid da nova página adicione um componente ScrollView e configure-o como mostrado a seguir

<Grid x:name="layoutroot"> <ScrollViewer BorderThickness="0" VerticalScrollBarVisibility="Auto" Margin="- 12" Padding="12,0,12,0"> </ScrollViewer> </Grid> 16) Adicione dentro do Scrollview o StackPanel e configure-o como mostrado a seguir e adicione ao StackPanel um textblock. <StackPanel Orientation="Vertical" Margin="0,12,0,12"> <TextBlock Text="Employee List" Style="StaticResource HeaderTextStyle"/> 17) Rode a aplicação e navegue para a página Employees. 18) Adicione um controle DataGrid abaixo do TextBlock e configure-o como tal <my:datagrid x:name="employeegrid" AutoGenerateColumns="True" /> Agora vamos popuplar o Grid com os dados dos Employees. Primeiramente vamos usar o cod-behind e posteriormente vamos fazer a mesma coisa usando apenas as Tags XAML. 19) Clique com o botão direito do mouse em qualquer parte da janela XAML e selecione a opção do menu View Code. 20) Altere o código da página para ficar como a seguir public EmployeesListing() InitializeComponent(); Loaded +=new RoutedEventHandler(EmployeesListing_Loaded); void EmployeesListing_Loaded(object sender, RoutedEventArgs e) AdvDomainContext ctx = new AdvDomainContext(); EmployeeGrid.ItemsSource = ctx.employees; ctx.load(ctx.getemployeesquery()); 21) Não esqueça de adicionar a biblioteca using BusinessApplication2.Web.Services; pois o contexto pertence a ela. 22) Rode a aplicação para fazer o resultado. 23) O que, agora vamos utilizar apenas o XAML. Apague o código que você criou acima ou apenas comente-os. 24) Adicione logo acima do Scrollview um controle DomainDataSource e configure-o como a seguir

<my1:domaindatasource x:name="mydata" LoadSize="20" QueryName="GetEmployeesQuery" 25) Adicione o seguinte namespace ao XAML xmlns:ds="clr-namespace:businessapplication2.web.services" 26) Altere o DataGrid para ficar como tal <my:datagrid x:name="employeegrid" AutoGenerateColumns="True" MinHeight="100" IsReadOnly="True" ItemsSource="Binding ElementName=MyData, Path=Data"/> 27) Rode a aplicação e veja o resultado. 28) Agora vamos fazer filtros e Classificação usando o DomianDataSource. Para tal, acrescente um novo StackPanel logo acima do DataGrid e, dentro do mesmo acescente um TextBlock e um TextBox, veja o código a segui <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,- 16,0,0"> <TextBlock VerticalAlignment="Center" Text="Min Vacation Hours Filter: " /> <TextBox x:name="vacationhoursfilter" Width="75" FontSize="11" Margin="4" /> 29) Acrescente o seguinte o código a tag DomainDataSource, veja o código a seguir. Este código permite realizar filtros. <my1:domaindatasource x:name="mydata" LoadSize="20" QueryName="GetEmployeesQuery" <my1:domaindatasource.filterdescriptors> <my1:filterdescriptor PropertyPath="VacationHours" Operator="IsGreaterThanOrEqualTo" Value="Binding ElementName=VacationHoursFilter, Path=Text"/> </my1:domaindatasource.sortdescriptors> 30) Vamos fazer algo parecido com o código acima para realizar Classificação(Sorting). <my1:domaindatasource x:name="mydata" LoadSize="20" QueryName="GetEmployees" <my1:domaindatasource.filterdescriptors> <my1:filterdescriptor PropertyPath="VacationHours" Operator="IsGreaterThanOrEqualTo" Value="Binding ElementName=VacationHoursFilter, Path=Text"/> </my1:domaindatasource.filterdescriptors> <my1:domaindatasource.sortdescriptors> <my1:sortdescriptor PropertyPath="BirthDate" Direction="Ascending" /> </my1:domaindatasource.sortdescriptors>

31) Vamos agora adiconar o novo controle para fazer paginação. Então adicione logo abaixo do DataGrid um DataPager e configure-o como a seguir <my:datapager x:name="datapager" PageSize="5" Margin="0,-1,0,0" Source="Binding ElementName=MyData, Path=Data"/> 32) Rode a aplicação para fazer alguns teste. Vamos agora adicionar mais um controle e tentarmos fazer edição nos dados através do mesmo. 33) Adicione um controle DataForm logo acima do controle DataPager e configure-o de acordo com o código a seguir. <toolkit:dataform x:name="employeedetails" Header="Employee Information" AutoGenerateFields="False" AutoCommit="True" AutoEdit="False" CurrentItem="Binding ElementName=EmployeeGrid, Path=SelectedItem"> <toolkit:dataform.edittemplate> <DataTemplate> <StackPanel> <toolkit:datafield Label="Employee ID"> <TextBox Text="Binding EmployeeID, Mode=TwoWay"/> <toolkit:datafield Label="Login ID"> <TextBox Text="Binding LoginID, Mode=TwoWay"/> <toolkit:datafield Label="Hire Date"> <TextBox Text="Binding HireDate, Mode=TwoWay"/> <toolkit:datafield Label="Marital Status"> <TextBox Text="Binding MaritalStatus, Mode=TwoWay"/> <toolkit:datafield Label="Gender"> <TextBox Text="Binding Gender, Mode=TwoWay"/> <toolkit:datafield Label="VacationHours"> <TextBox Text="Binding EmployeeID, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True"/> </DataTemplate> </toolkit:dataform.edittemplate> </toolkit:dataform> 34) Rode a aplicação e faça alguns teste. Veja que a edição é possível mais os dados ainda não são persistidos. Observe que alguns campos são obrigatórios 35) Adicione um StackPanel abaixo do DataForm e configure-o com tal e, dentro do StackPanel adicione um Button e configure de acordo com o código a seguir. <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,12,0,0"> <Button Content="Save changes" x:name="savechangesbutton" Width="75" Height="23" Margin="4,0,0,0" Click="SaveChangesButton_Click"/> 36) Navegue para o código do evento click do botão e digite o seguinte código.

private void SaveChangesButton_Click(object sender, RoutedEventArgs e) MyData.SubmitChanges(); 37) Rode a aplicação e faça alguns teste. Verifique que agora as mudanças são persistidas. 38) Faça as seguintes mudanças no metadados para formatar a entrada de dados. [RegularExpression("M m F f")] public string Gender get; set; [Range(0,80, ErrorMessage="Sua mensagem")] public short VacationHours get; set; 39) Compile a aplicação, e rode e faça alguns testes. 40) Adicione um novo StackPanel e dentro deste um botão, conforme o código a seguir <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="12,0,0,0"> <Button x:name="newempbutton" Width="90" Height="23" Content="New Employee" Margin="4,0,0,0" Click="NewEmpButton_Click"></Button>