Upload
fabio-delboni
View
3.357
Download
25
Embed Size (px)
DESCRIPTION
TOTVS IP CAMPINAS FSW Treinamento .NET C# - v4 POR FABIO DELBONI
Citation preview
1
TREINAMENTO MICROSOFT .NET C# - v4Fábio Delboni – IPC FSW / janeiro - 2010
2
MICROSOFT .NET C#
I.I) Plataforma .Net
• Vantagens da plataforma .Net• Processo de compilação• Linguagem .Net vs Java• Common Language Runtime
• .Net no mundo.• Framework• Conhecendo a IDE Microsoft Visual Studio
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de terceiros e Web Service
ÍNDICE
3
MICROSOFT .NET C#
I.II) Sintaxe da linguagem
• Solução, projetos, namespaces, classes...• Declarando e setando variáveis• Ler teclas e escrever no console• Tipos de variáveis• Conversão de tipos• Estruturas condicionais• Operadores
• Exceção• Estruturas de repetição• Classe e objeto• Métodos• Propriedades• Sobrecarga de operador• Herança• Manipular arquivo texto
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
4
MICROSOFT .NET C#
II.I) Acesso ao banco de dados
• Tipos de conexão• String de conexão• Executar consulta• Manutenção de cadastro• Procedure com parâmetros• Utilizando os métodos de BD
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
5
MICROSOFT .NET C#
II.II) Desenvolvimento de aplicativos Winform
• Componente TextBox• Componente ComboBox• Componente CheckBox• Componente DataGridView• Escrever arquivo XML• Carregar arquivo XML
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
• MicrosoftReportViewer• User Control• Settings• MDI
6
MICROSOFT .NET C#
III.I) Desenvolvendo DLL
• Criando projeto• Usando DLL
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
7
MICROSOFT .NET C#
III.II) Desenvolvimento Webform com AJAX
• Componente Menu• Conexão e Dataset• Componente GridView e DatailsView• Ajax Script Manager e Update Painel• Biding GridView via código• LinkButton na coluna da GridView• Response Redirect e Session
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
• Componente TextBox• Componente DropDownList• Componente RadioButtonList• Componente CheckBox• MicrosoftReportViewer• Web User Control• Dynamic Data Web Site
8
MICROSOFT .NET C#
IV.I) Componentes de terceiros
• FreeTextBox• Asp .Net AJAX Control Toolkit• Nhibernate for .Net• DevExpress• Infragistics• StrataFrame
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
9
MICROSOFT .NET C#
IV.II) Web Service
• Criar Web Service• Consumir Web Service• Debug com SoapUI
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
PROJETO OS-TEC (ETAPA 0/4)
10
Modelagem (sugestão)
• Namespace Transacao{ … }– Class Principal{ … }
• Método 1: public String Login (usuario, senha){… }
• Método 2: public String InserirOS (usuario, senha, projeto, data, tarefa, horas, observacao){ … }
PROJETO OS-TEC (ETAPA 1/4)
11
CAMADA TRANSAÇÃO
PROJETO OS-TEC (ETAPA 2/4)
12
CAMADA TRANSAÇÃOWINFORM
BD RM+
TABELAS Z
CAMADA BD
PROJETO OS-TEC (ETAPA 3/4)
13
CAMADA TRANSAÇÃOWINFORM
BD RM+
TABELAS Z
CAMADA BD
WEBFORM
PROJETO OS-TEC (ETAPA 4/4)
14
CAMADA TRANSAÇÃO
WINFORM
BD RM+
TABELAS Z
CAMADA BD
WEBFORM
WEBSERVICE
15
Instrutor
QUESTÕES
IMAGEM
MICROSOFT .NET C#
16
MICROSOFT .NET C#
I.I) Plataforma .Net
• Vantagens da plataforma .Net• Processo de compilação• Linguagem .Net vs Java• Common Language Runtime
• .Net no mundo.• Framework• Conhecendo a IDE Microsoft Visual Studio
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
• Framework– Independência de hardware– Conexão OLE DB
• .NET SDK– Base class library
• Linguagens Orientada á Objeto– Conceitos da linguagem Orientada a Objeto
• Linguagem interpredada (próximo slide)– Facilidade de distribuição– Garbage Collector gerenciamento da memória– Segurança (sistema e código)– Interoperabilidade
Vantagens da plataforma .Net
Plataforma .Net
17
Processo de Compilação
Plataforma .Net
18
• Microsoft Visual Studio.• Suporta a diversas linguagens de programação (CLR)
http://pt.wikipedia.org/wiki/.NET• Integração nativa com outros produtos Microsoft como:
– SQL Server– Office– Windows Mobile– API’s do Windows e outros
• Dispositivo móvel com SQL Server Compact (Mobile Edition)• Link interessante:
– http://inf.unisinos.br/~barbosa/paradigmas/consipa3/53/s27/
Linguagem .Net vs Java
Plataforma .Net
19
Common Language Runtime
Plataforma .Net
20
• Windows Presentation Foundation - XAML– Microsoft Expression Studio (Blend e Silverlight)
• Microsoft Popfly (Mashups)
• Windows Workflow Foundation• Windows Communication Foundation• LINQ• XNA• Microsoft Robotics Developer Studio• Framework 4.0 (F#, Microsoft Surface, etc.)• Windows Azure• Microsoft Small Basic• Projeto Mono e Moonlight• Outros projeto em: Microsoft DevLabs,Codeplex e Sourceforge…
.Net no mundo
Plataforma .Net
21
• Microsoft .Net Framework 2.0– http://blogs.msdn.com/photos/brada/picture524537.aspx
• Microsoft .Net Framework 3.0 e 3.5– http://download.microsoft.com/download/4/a/3/4a3c7c55-84ab-4588-84a4-f96424a7d
82d/NET_35_Namespaces_Poster_JAN08.pdf
• Microsoft .Net Framework 4.0– http://brad_abrams.members.winisp.net/Projects/PDC2008/PDC2008-NETFX4
Framework
Plataforma .Net
22
• Editor de códigos– Suporte a outras linguagens JS, CSS, XML, DHTML, …– Identamento automático– Autocompleta código– IntelliSense– Code refactoring
• Debugger• Designer
– Windows, Web, WPF, Class, Data (Ex. SQL) e Mapping• Outras ferramentas
– Solution/ Object/ Data/ Server explorer e Properties Editor, etc…
Conhecendo a IDE Microsoft Visual Studio
Fonte: http://en.wikipedia.org/wiki/Microsoft_Visual_Studio
Plataforma .Net
23
24
Instrutor
QUESTÕES
IMAGEM
MICROSOFT .NET C#
25
MICROSOFT .NET C#
I.II) Sintaxe da linguagem
• Solução, projetos, namespaces, classes...• Declarando e setando variáveis• Ler teclas e escrever no console• Tipos de variáveis• Conversão de tipos• Estruturas condicionais• Operadores
• Exceção• Estruturas de repetição• Classe e objeto• Métodos• Propriedades• Sobrecarga de operador• Herança• Manipular arquivo texto
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
Solução, projetos, namespaces, classes e static void main
Sintaxe da linguagem
26
Declarando e setando variáveis
Sintaxe da linguagem
27
Declarando e setando variáveis (String)
Sintaxe da linguagem
28
Ler teclas e escrever no console
Sintaxe da linguagem
29
Tipos de variáveis
Sintaxe da linguagem
30
C# Type .NET Framework type Valores possíveis de se armazenar
bool System.Boolean Verdadeiro ou Falso (Valores booleandos)
byte System.Byte 0 a 255 (8 bits)
sbyte System.SByte -128 a 127 (8 bits)
char System.Char Um caractere (16 bits)
decimal System.Decimal ±1.0 × 10−28 a ±7.9 × 1028 (128 bits)
double System.Double ±5.0 × 10−324 a ±1.7 × 10308 (64 bits)
float System.Single ±1.5 × 10−45 a ±3.4 × 1038 (32 bits)
int System.Int32 -2,147,483,648 a 2,147,483,647 (32 bits)
uint System.UInt32 0 a 4,294,967,295 (32 bits)
long System.Int64 –9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 (64 bits)
ulong System.UInt64 0 a 18,446,744,073,709,551,615 (64 bits)
object System.Object Qualquer tipo.
short System.Int16 -32,768 a 32,767 (16 bits)
ushort System.UInt16 0 a 65,535 (16 bits)
string System.String Seqüência de caracteres (16 bits por caractere)
Conversão de tipos
Sintaxe da linguagem
31
Exercício:
Sintaxe da linguagem
32
• Construir um aplicativo console, em que o usuário digite 2 números e estes sejam gravados em uma variável a e b, em seguida, realizar a soma dos dois números e apresentar o resultado:
• Tempo: 5 minutos.
Solução:
Sintaxe da linguagem
33
• Comando SWITCH CASE
Estruturas condicionais
Sintaxe da linguagem
34
• Comando IF
Estruturas condicionais
Sintaxe da linguagem
35
• Comando IF ELSE
Estruturas condicionais
Sintaxe da linguagem
36
• Comando IF ELSE encadeado
Estruturas condicionais
Sintaxe da linguagem
37
Operadores
Sintaxe da linguagem
38
• Construir um aplicativo console onde, você digita o nome do aluno a sua nota. Em seguida o aplicativo exibe o nome do aluno e se o mesmo está aprovado, reprovado ou em recuperação, conforme exemplo abaixo:
De 0 até 4 – “Fábio, você foi reprovado.”De 5 até 6 – “Fábio, você está em recuperação.”De 7 até 10 – “Parabéns Fábio! Você está aprovado.”
• Tempo: 10 minutos.
Exercício:
Sintaxe da linguagem
39
• Comando DO WHILE
Estruturas de repetição
Sintaxe da linguagem
41
• Comando WHILE
Estruturas de repetição
Sintaxe da linguagem
42
• Comando FOR– Declara e/ou inicializa variável– Testa o fim repetição (repetir enquanto verdadeiro)– Incrementa ou decrementa
Estruturas de repetição
Sintaxe da linguagem
43
• Adaptar a solução anterior para que o usuário insira notas de 0 a 10 somente.
• Tempo: 5 minutos.
Exercício:
Sintaxe da linguagem
44
Solução:
Sintaxe da linguagem
45
• Contruir um aplicativo console que receba 10 números. Somar todos os numeros pares em uma variavel x e todos os números impares em uma variável y. Em seguida mostrar o total somado em x e y.
• Tempo: 12 minutos.
Exercício:
Sintaxe da linguagem
46
Solução:
Sintaxe da linguagem
47
Classe e objeto
Sintaxe da linguagem
49
• Desenvolver classe calculadora, com as operações matemáticas de soma, subtração, divisão e mutiplicação.
• Tempo: 6 minutos.
Exercício:
Sintaxe da linguagem
51
Enum
Sintaxe da linguagem
53
Cast
Propriedades
Sintaxe da linguagem
54
Sobrecarga de operador
Sintaxe da linguagem
55
• Criar novos métodos de soma e subtração na classe calculadora para receber 2, 3 ou até 4 parâmetros.
• Tempo: 10 minutos.
Exercício:
Sintaxe da linguagem
56
Objeto do tipo List
Sintaxe da linguagem
58
Manipular arquivo texto
Sintaxe da linguagem
59
Manipular arquivo texto
Sintaxe da linguagem
60
• Com base no slide “manipular arquivo texto”, ajuste e acrescente os métodos abaixo:– int TotalLinhas(String nomeArquivo)
• Retorna o número total de linhas do arquivo.
– String lerLinha(int numeroLinha)• Retorna uma String com o conteúdo da linha especificada.
– String Acrescentar(String nomeArquivo, String texto)• Acrescenta no final do arquivo a String texto.
• Tempo: 10 minutos.
Exercício:
Sintaxe da linguagem
61
62
Instrutor
QUESTÕES
IMAGEM
MICROSOFT .NET C#
63
MICROSOFT .NET C#
II.I) Acesso ao banco de dados
• Tipos de conexão• String de conexão• Executar consulta• Manutenção de cadastro• Procedure com parâmetros• Utilizando os métodos de BD
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
• Como opções de tipo de conexão podemos destacar:
– Client • Exemplo: SQL Client ou Oracle Client
– OLE DB• Suporte nativo a SQL e ORACLE
– DLL• Fornecida pelo fabricando do SGBD ou terceiros.
Tipos de conexão
Acesso ao banco de dados
64
• SQL CLIENT• Data Source=AHOIII;Initial Catalog=CORPORE1080;Persist Security
Info=True;User ID=rm;Password=**
• ORACLE CLIENT• Data Source=xe;Persist Security Info=True;User
ID=rm;Password=**;Unicode=True
• OLE DB (SQL SERVER)• Provider=SQLOLEDB;Data Source=AHOIII;Persist Security
Info=True;User ID=rm;Initial Catalog=CORPORE1080;Password=**
• OLE DB (ORACLE)• Provider=MSDAORA;Data Source=XE;Persist Security
Info=True;User ID=rm;Password=**
String de conexão
Acesso ao banco de dados
65
Executar consulta
Acesso ao banco de dados
66
Manutenção de cadastro
Acesso ao banco de dados
67
Procedure com parâmetros
Acesso ao banco de dados
68
Procedure com parâmetros
Acesso ao banco de dados
69
Utilizando os métodos de BD
Acesso ao banco de dados
70
• Testar os métodos da classe “bd”.
• Tempo: 10 minutos.
Exercício:
Acesso ao banco de dados
71
72
MICROSOFT .NET C#
II.II) Desenvolvimento de aplicativos Winform
• Componente TextBox• Componente ComboBox• Componente CheckBox• Componente DataGridView• Escrever arquivo XML• Carregar arquivo XML
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
• MicrosoftReportViewer• User Control• Settings• MDI
Componente TextBox
Desenvolvimento de aplicativos Winform
73
Componente ComboBox
Desenvolvimento de aplicativos Winform
74
Componente CheckBox
Desenvolvimento de aplicativos Winform
75
Componente DataGridView
Desenvolvimento de aplicativos Winform
76
Componente DataGridView
Desenvolvimento de aplicativos Winform
77
Escrever arquivo XML
Desenvolvimento de aplicativos Winform
78
Carregar arquivo XML
Desenvolvimento de aplicativos Winform
79
• Obter campos do registro selecionados da grid:
Manipular registros da Grid
Desenvolvimento de aplicativos Winform
80
• Criar uma coluna CheckBox em uma dataGridView:
Manipular registros da Grid
Desenvolvimento de aplicativos Winform
81
• Guardar o valor de um coluna CheckBox em um ArrayList:
Manipular registros da Grid
Desenvolvimento de aplicativos Winform
82
• A partir da modelagem abaixo, desenvolver uma tela de cadastro e tela de consulta.
• Tempo: 15 minutos.
Exercício:
Desenvolvimento de aplicativos Winform
83
MicrosoftReportVierwer
Desenvolvimento de aplicativos Winform
84
User Control
Desenvolvimento de aplicativos Winform
85
User Control
Desenvolvimento de aplicativos Winform
86
Settings
Desenvolvimento de aplicativos Winform
87
Settings
Desenvolvimento de aplicativos Winform
88
MDI
Desenvolvimento de aplicativos Winform
89
90
Instrutor
QUESTÕES
IMAGEM
MICROSOFT .NET C#
91
MICROSOFT .NET C#
III.I) Desenvolvendo DLL
• Criando projeto• Usando DLL
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
Criando projeto
Desenvolvendo DLL
92
• Construa sua própria DLL para acesso ao banco de dados, e teste os métodos da mesma.
• Tempo: 10 minutos.
Exercício:
Desenvolvendo DLL
95
96
MICROSOFT .NET C#
III.II) Desenvolvimento Webform com AJAX
• Componente Menu• Conexão e Dataset• Componente GridView e DatailsView• Ajax Script Manager e Update Painel• Biding GridView via código• LinkButton na coluna da GridView• Response Redirect e Session
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
• Componente TextBox• Componente DropDownList• Componente RadioButtonList• Componente CheckBox• MicrosoftReportViewer• Web User Control• Dynamic Data Web Site
Conexão e Dataset
Desenvolvimento Webform com AJAX
98
Conexão e Dataset
Desenvolvimento Webform com AJAX
99
• Uma grande vantagem de criar itens DataSet, é que os objetos de cada TableAdapter possui os métodos de Insert, Update, Delete, GetData e Fill, ou seja, ganha-se em tempo de desenvolvimento da solução, de forma á dispensar a criação de diversas querys, inclusive a possibilidade de vincular as Grids um Dataset.
Componente GridView e Details View
Desenvolvimento Webform com AJAX
100
• Crie uma conexão, e um DataSet para o cadastro de clientes/fornecedores. Em seguida utilize os componentes de GridView e Details View para consultar e editar os registros.
• Tempo: 15 minutos.
Exercício:
Desenvolvimento Webform com AJAX
101
Biding GridView via código
Desenvolvimento Webform com AJAX
105
LinkButton na colina da GridView
Desenvolvimento Webform com AJAX
106
Response Redirect e Session
Desenvolvimento Webform com AJAX
107
Response Redirect e Session
Desenvolvimento Webform com AJAX
108
Componente TextBox
Desenvolvimento Webform com AJAX
109
Componente DropDownList
Desenvolvimento Webform com AJAX
110
Componente RadioButtonList
Desenvolvimento Webform com AJAX
111
Componente CheckBox
Desenvolvimento Webform com AJAX
112
• Com base na modelagem abaixo, crie os Forms de cadastro e consulta (tempo de 30 minutos):
Exercício:
Desenvolvimento Webform com AJAX
113
MicrosoftReportViewer
Desenvolvimento Webform com AJAX
114
• Criar um relatório de listagem de pedidos:
• Tempo: 10 minutos.
Exercício:
Desenvolvimento Webform com AJAX
115
Web User Control
Desenvolvimento Webform com AJAX
116
Web User Control
Desenvolvimento Webform com AJAX
117
Web User Control
Desenvolvimento Webform com AJAX
118
Dynamic Data Web Site
Desenvolvimento Webform com AJAX
120
Dynamic Data Web Site
Desenvolvimento Webform com AJAX
121
Dynamic Data Web Site
Desenvolvimento Webform com AJAX
122
Dynamic Data Web Site
Desenvolvimento Webform com AJAX
123
Dynamic Data Web Site
Desenvolvimento Webform com AJAX
124
• Criar um projeto Dinamic Data Web Site baseado na mesma modelagem de pedido (tempo de 5 minutos).
Exercício:
Desenvolvimento Webform com AJAX
125
126
Instrutor
QUESTÕES
IMAGEM
MICROSOFT .NET C#
127
MICROSOFT .NET C#
IV.I) Componentes de terceiros
• FreeTextBox• Asp .Net AJAX Control Toolkit• Nhibernate for .Net• DevExpress• Infragistics• StrataFrame
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
Componentes de Terceiros
128
http://freetextbox.com/demos/
FreeTextBox
Asp .Net AJAX Control Toolkit
Componentes de Terceiros
129
http://www.asp.net/ajax/AjaxControlToolkit/Samples/
• AccordionAlwaysVisibleControlAnimationAsyncFileUploadAutoCompleteCalendarCascadingDropDownCollapsiblePanelColorPickerComboBoxConfirmButtonDragPanelDropDownDropShadowDynamicPopulateFilteredTextBoxHoverMenuHTMLEditorListSearchMaskedEditModalPopupMultiHandleSlider
MutuallyExclusiveCheckBox
NoBotNumericUpDownPagingBulletedListPasswordStrengthPopupControlRatingReorderListResizableControlRoundedCornersSeadragonSliderSlideShowTabsTextBoxWatermarkToggleButtonUpdatePanelAnimationValidatorCallout
Nhibernate for .Net
Componentes de Terceiros
130
https://www.hibernate.org
DevExpress
Componentes de Terceiros
131
http://www.devexpress.com
Infragistics
Componentes de Terceiros
132
http://www.infragistics.com
StrataFrame
Componentes de Terceiros
133
http://www.strataframe.net
134
MICROSOFT .NET C#
IV.II) Web Service
• Criar Web Service• Consumir Web Service• Debug com SoapUI
I) Plataforma .Net e a sintaxe da linguagem
II) Acesso ao BD e desenvolvimento Winform
III) Desenvolvendo DLL e Webform com AJAX
IV) Componentes de tercerios e Web Service
ÍNDICE
Consumir Web Service
Web Service
136
Consumir Web Service
Web Service
137
Debug com SoapUI
Web Service
138
http://www.soapui.org
Exercício
Web Service
139
• PARTE 1:– Construir um Web Service que contenha um método que recebe
o nome de uma tabela, e retorna os dados da mesma.
• PARTE 2:– Construir um aplicativo Windows que consome o Web Service
acima, e passando o nome de uma tabela e prenche em uma dataGridView.
• Tempo: 12 minutos (ambos).
140
Instrutor
QUESTÕES
IMAGEM
MICROSOFT .NET C#