Escolar Documentos
Profissional Documentos
Cultura Documentos
C # Treinamento
C # Treinamento
NET C# - v4
Fábio Delboni – IPC FSW / janeiro - 2010
1
MICROSOFT .NET C#
ÍNDICE
2
MICROSOFT .NET C#
ÍNDICE
3
MICROSOFT .NET C#
ÍNDICE
• Tipos de conexão
• String de conexão
• Executar consulta
• Manutenção de cadastro
• Procedure com parâmetros
• Utilizando os métodos de BD
4
MICROSOFT .NET C#
ÍNDICE
5
MICROSOFT .NET C#
ÍNDICE
• Criando projeto
• Usando DLL
6
MICROSOFT .NET C#
ÍNDICE
7
MICROSOFT .NET C#
ÍNDICE
• FreeTextBox
• Asp .Net AJAX Control Toolkit
• Nhibernate for .Net
• DevExpress
• Infragistics
• StrataFrame
8
MICROSOFT .NET C#
ÍNDICE
9
PROJETO OS-TEC (ETAPA 0/4)
Modelagem (sugestão)
fabio.delboni@totvs.com.br
10
PROJETO OS-TEC (ETAPA 1/4)
CAMADA TRANSAÇÃO
• Namespace Transacao{ … }
– Class Principal{ … }
fabio.delboni@totvs.com.br
11
PROJETO OS-TEC (ETAPA 2/4)
CAMADA BD
BD RM
+
TABELAS Z
fabio.delboni@totvs.com.br
12
PROJETO OS-TEC (ETAPA 3/4)
CAMADA BD
BD RM
WEBFORM
+
TABELAS Z
fabio.delboni@totvs.com.br
13
PROJETO OS-TEC (ETAPA 4/4)
WEB
WINFORM
SERVICE
CAMADA TRANSAÇÃO
CAMADA BD
BD RM
WEBFORM
+
TABELAS Z
fabio.delboni@totvs.com.br
14
MICROSOFT .NET C#
QUESTÕES
Instrutor
fabio.delboni@totvs.com.br
15
MICROSOFT .NET C#
ÍNDICE
16
Plataforma .Net
17
Plataforma .Net
Processo de Compilação
fabio.delboni@totvs.com.br
18
Plataforma .Net
19
Plataforma .Net
fabio.delboni@totvs.com.br
20
Plataforma .Net
.Net no mundo
• 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…
fabio.delboni@totvs.com.br
21
Plataforma .Net
Framework
fabio.delboni@totvs.com.br
22
Plataforma .Net
23
MICROSOFT .NET C#
QUESTÕES
Instrutor
fabio.delboni@totvs.com.br
24
MICROSOFT .NET C#
ÍNDICE
25
Sintaxe da linguagem
fabio.delboni@totvs.com.br
26
Sintaxe da linguagem
fabio.delboni@totvs.com.br
27
Sintaxe da linguagem
fabio.delboni@totvs.com.br
28
Sintaxe da linguagem
fabio.delboni@totvs.com.br
29
Sintaxe da linguagem
Tipos de variáveis
C# Type .NET Framework type Valores possíveis de se armazenar
30
Sintaxe da linguagem
Conversão de tipos
fabio.delboni@totvs.com.br
31
Sintaxe da linguagem
Exercício:
• 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.
fabio.delboni@totvs.com.br
32
Sintaxe da linguagem
Solução:
fabio.delboni@totvs.com.br
33
Sintaxe da linguagem
Estruturas condicionais
• Comando SWITCH CASE
fabio.delboni@totvs.com.br
34
Sintaxe da linguagem
Estruturas condicionais
• Comando IF
fabio.delboni@totvs.com.br
35
Sintaxe da linguagem
Estruturas condicionais
• Comando IF ELSE
fabio.delboni@totvs.com.br
36
Sintaxe da linguagem
Estruturas condicionais
• Comando IF ELSE encadeado
fabio.delboni@totvs.com.br
37
Sintaxe da linguagem
Operadores
fabio.delboni@totvs.com.br
38
Sintaxe da linguagem
Exercício:
• 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:
• Tempo: 10 minutos.
fabio.delboni@totvs.com.br
39
Sintaxe da linguagem
Solução:
40
Sintaxe da linguagem
Estruturas de repetição
• Comando DO WHILE
fabio.delboni@totvs.com.br
41
Sintaxe da linguagem
Estruturas de repetição
• Comando WHILE
fabio.delboni@totvs.com.br
42
Sintaxe da linguagem
Estruturas de repetição
• Comando FOR
– Declara e/ou inicializa variável
– Testa o fim repetição (repetir enquanto verdadeiro)
– Incrementa ou decrementa
fabio.delboni@totvs.com.br
43
Sintaxe da linguagem
Exercício:
• Tempo: 5 minutos.
fabio.delboni@totvs.com.br
44
Sintaxe da linguagem
Solução:
fabio.delboni@totvs.com.br
45
Sintaxe da linguagem
Exercício:
• 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.
fabio.delboni@totvs.com.br
46
Sintaxe da linguagem
Solução:
fabio.delboni@totvs.com.br
47
Sintaxe da linguagem
Exceção
fabio.delboni@totvs.com.br
48
Sintaxe da linguagem
Classe e objeto
fabio.delboni@totvs.com.br
49
Sintaxe da linguagem
Métodos
fabio.delboni@totvs.com.br
50
Sintaxe da linguagem
Exercício:
• Desenvolver classe calculadora, com as operações
matemáticas de soma, subtração, divisão e mutiplicação.
• Tempo: 6 minutos.
fabio.delboni@totvs.com.br
51
Sintaxe da linguagem
Enum
fabio.delboni@totvs.com.br
52
Sintaxe da linguagem
Enum
Cast
fabio.delboni@totvs.com.br
53
Sintaxe da linguagem
Propriedades
fabio.delboni@totvs.com.br
54
Sintaxe da linguagem
Sobrecarga de operador
fabio.delboni@totvs.com.br
55
Sintaxe da linguagem
Exercício:
• Criar novos métodos de soma e subtração na classe
calculadora para receber 2, 3 ou até 4 parâmetros.
• Tempo: 10 minutos.
fabio.delboni@totvs.com.br
56
Sintaxe da linguagem
Herança
fabio.delboni@totvs.com.br
57
Sintaxe da linguagem
fabio.delboni@totvs.com.br
58
Sintaxe da linguagem
fabio.delboni@totvs.com.br
59
Sintaxe da linguagem
fabio.delboni@totvs.com.br
60
Sintaxe da linguagem
Exercício:
• 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.
• Tempo: 10 minutos.
fabio.delboni@totvs.com.br
61
MICROSOFT .NET C#
QUESTÕES
Instrutor
fabio.delboni@totvs.com.br
62
MICROSOFT .NET C#
ÍNDICE
• Tipos de conexão
• String de conexão
• Executar consulta
• Manutenção de cadastro
• Procedure com parâmetros
• Utilizando os métodos de BD
63
Acesso ao banco de dados
Tipos de conexão
• 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.
fabio.delboni@totvs.com.br
64
Acesso ao banco de dados
String de conexão
• 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=**
fabio.delboni@totvs.com.br
65
Acesso ao banco de dados
Executar consulta
fabio.delboni@totvs.com.br
66
Acesso ao banco de dados
Manutenção de cadastro
fabio.delboni@totvs.com.br
67
Acesso ao banco de dados
fabio.delboni@totvs.com.br
68
Acesso ao banco de dados
fabio.delboni@totvs.com.br
69
Acesso ao banco de dados
Utilizando os métodos de BD
fabio.delboni@totvs.com.br
70
Acesso ao banco de dados
Exercício:
• Testar os métodos da classe “bd”.
• Tempo: 10 minutos.
fabio.delboni@totvs.com.br
71
MICROSOFT .NET C#
ÍNDICE
72
Desenvolvimento de aplicativos Winform
Componente TextBox
fabio.delboni@totvs.com.br
73
Desenvolvimento de aplicativos Winform
Componente ComboBox
fabio.delboni@totvs.com.br
74
Desenvolvimento de aplicativos Winform
Componente CheckBox
fabio.delboni@totvs.com.br
75
Desenvolvimento de aplicativos Winform
Componente DataGridView
fabio.delboni@totvs.com.br
76
Desenvolvimento de aplicativos Winform
Componente DataGridView
fabio.delboni@totvs.com.br
77
Desenvolvimento de aplicativos Winform
fabio.delboni@totvs.com.br
78
Desenvolvimento de aplicativos Winform
fabio.delboni@totvs.com.br
79
Desenvolvimento de aplicativos Winform
fabio.delboni@totvs.com.br
80
Desenvolvimento de aplicativos Winform
fabio.delboni@totvs.com.br
81
Desenvolvimento de aplicativos Winform
fabio.delboni@totvs.com.br
82
Desenvolvimento de aplicativos Winform
Exercício:
• A partir da modelagem abaixo, desenvolver uma tela de
cadastro e tela de consulta.
• Tempo: 15 minutos.
fabio.delboni@totvs.com.br
83
Desenvolvimento de aplicativos Winform
MicrosoftReportVierwer
fabio.delboni@totvs.com.br
84
Desenvolvimento de aplicativos Winform
User Control
fabio.delboni@totvs.com.br
85
Desenvolvimento de aplicativos Winform
User Control
fabio.delboni@totvs.com.br
86
Desenvolvimento de aplicativos Winform
Settings
fabio.delboni@totvs.com.br
87
Desenvolvimento de aplicativos Winform
Settings
fabio.delboni@totvs.com.br
88
Desenvolvimento de aplicativos Winform
MDI
fabio.delboni@totvs.com.br
89
MICROSOFT .NET C#
QUESTÕES
Instrutor
fabio.delboni@totvs.com.br
90
MICROSOFT .NET C#
ÍNDICE
• Criando projeto
• Usando DLL
91
Desenvolvendo DLL
Criando projeto
fabio.delboni@totvs.com.br
92
Desenvolvendo DLL
Usando DLL
fabio.delboni@totvs.com.br
93
Desenvolvendo DLL
Usando DLL
94
Desenvolvendo DLL
Exercício:
• Construa sua própria DLL para acesso ao banco de dados, e
teste os métodos da mesma.
• Tempo: 10 minutos.
fabio.delboni@totvs.com.br
95
MICROSOFT .NET C#
ÍNDICE
96
Desenvolvimento Webform com AJAX
Componente Menu
97
Desenvolvimento Webform com AJAX
Conexão e Dataset
fabio.delboni@totvs.com.br
98
Desenvolvimento Webform com AJAX
Conexão e Dataset
fabio.delboni@totvs.com.br
99
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
100
Desenvolvimento Webform com AJAX
Exercício:
• 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.
fabio.delboni@totvs.com.br
101
Desenvolvimento Webform com AJAX
102
Desenvolvimento Webform com AJAX
103
Desenvolvimento Webform com AJAX
104
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
105
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
106
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
107
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
108
Desenvolvimento Webform com AJAX
Componente TextBox
fabio.delboni@totvs.com.br
109
Desenvolvimento Webform com AJAX
Componente DropDownList
fabio.delboni@totvs.com.br
110
Desenvolvimento Webform com AJAX
Componente RadioButtonList
fabio.delboni@totvs.com.br
111
Desenvolvimento Webform com AJAX
Componente CheckBox
fabio.delboni@totvs.com.br
112
Desenvolvimento Webform com AJAX
Exercício:
• Com base na modelagem abaixo, crie os Forms de cadastro e
consulta (tempo de 30 minutos):
fabio.delboni@totvs.com.br
113
Desenvolvimento Webform com AJAX
MicrosoftReportViewer
fabio.delboni@totvs.com.br
114
Desenvolvimento Webform com AJAX
Exercício:
• Criar um relatório de listagem de pedidos:
• Tempo: 10 minutos.
fabio.delboni@totvs.com.br
115
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
116
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
117
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
118
Desenvolvimento Webform com AJAX
119
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
120
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
121
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
122
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
123
Desenvolvimento Webform com AJAX
fabio.delboni@totvs.com.br
124
Desenvolvimento Webform com AJAX
Exercício:
• Criar um projeto Dinamic Data Web Site baseado na mesma
modelagem de pedido (tempo de 5 minutos).
fabio.delboni@totvs.com.br
125
MICROSOFT .NET C#
QUESTÕES
Instrutor
fabio.delboni@totvs.com.br
126
MICROSOFT .NET C#
ÍNDICE
• FreeTextBox
• Asp .Net AJAX Control Toolkit
• Nhibernate for .Net
• DevExpress
• Infragistics
• StrataFrame
127
Componentes de Terceiros
FreeTextBox
http://freetextbox.com/demos/
128
Componentes de Terceiros
• Accordion MutuallyExclusiveChec
AlwaysVisibleControl kBox
Animation NoBot
AsyncFileUpload NumericUpDown
AutoComplete PagingBulletedList
Calendar PasswordStrength
CascadingDropDown PopupControl
CollapsiblePanel Rating
ColorPicker ReorderList
ComboBox ResizableControl
ConfirmButton RoundedCorners
DragPanel Seadragon
DropDown Slider
DropShadow SlideShow
DynamicPopulate Tabs
FilteredTextBox TextBoxWatermark
HoverMenu ToggleButton
HTMLEditor UpdatePanelAnimation
ListSearch ValidatorCallout
MaskedEdit
ModalPopup
MultiHandleSlider
http://www.asp.net/ajax/AjaxControlToolkit/Samples/
129
Componentes de Terceiros
https://www.hibernate.org
130
Componentes de Terceiros
DevExpress
http://www.devexpress.com
131
Componentes de Terceiros
Infragistics
http://www.infragistics.com
132
Componentes de Terceiros
StrataFrame
http://www.strataframe.net
133
MICROSOFT .NET C#
ÍNDICE
134
Web Service
135
Web Service
fabio.delboni@totvs.com.br
136
Web Service
fabio.delboni@totvs.com.br
137
Web Service
http://www.soapui.org
138
Web Service
Exercício
• 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.
fabio.delboni@totvs.com.br
139
MICROSOFT .NET C#
QUESTÕES
Instrutor
fabio.delboni@totvs.com.br
140