10% OFF
Curso ASP .NET Core 2.0

Curso ASP .NET Core 2.0 - Básico/Intermediário Vídeo Aulas ( C# )

135 Vídeo Aulas com Projetos Completos e Atividades Resolvidas
Conteúdo e duração de cada vídeo aula

Módulo 1 - Fundamentos

1a. Introdução - 5:22 minutos
- Apresentação do Curso

2a. Apresentação -  12:32 minutos
- Apresentação
- Novos Recursos
- Ambiente de Desenvolvimento
- Opções de Desenvolvimento

3a. Configurando o ambiente -  15 minutos
- Cenário Atual
- Visual Studio - Opções de templates de projetos
- ASP .NET Core 2.0,  ,NET Core 2.0,  EF Core 2.0 , VS 2017
- Ferramentas de linha de comando : NET CLI
- Visual Studio Code

4a. Estrutura do Projeto VS 2017 - 7:29 minutos
- Estrutura do projeto ASP .NET Core no VS 2017
- Startup, ConfigureServices, Configure
- Primiero Projeto ASP .NET Core - Empty

5a. Apresentando o VS Code-   12:19 minutos
- Apresentando o VS Code - download
- Principais recursos
- Instalação das Extensões recomendadas
- Ebook grátis sobre VS Code

6a. Estrutura do Projeto - NET CLI - 15:33 minutos
- Apresentando a NET CLI
- Templates de projetos e comandos
- Criando um projeto na ferramenta de linha de comando
- Abrindo o projeto no VS Code

7a. Inicialização  -  12:43 minutos
- Apresentando o novo processo de inicialização
- Program.Main, Startup, ConfigureServices, Configure
- Middlewares, Serviços, Injeção de dependência
- Proxy reverso, Kestrel

8a. Configuração -  11:24 minutos
- O novo modelo de configuração
- API de configuração, para nome:valor no formato  JSON 
- Podemos usar vários formatos de arquivos: padrão é JSON
- Lendo informações de um arquivo de configuração 

9a. Environment -  15:56 minutos
- Trabalhando com múltiplos ambientes
- Variável de ambiente : ASPNETCORE_ENVIRONMENT
- Valores padrão : Development, Staging , Production
- Configurando o ambiente; controlando a inicialização

10a. Injeção de Dependência -  4:15 minutos
- Apresentando o conceito da Injeção de dependência(ID)
- Framework ASP .NET Core - Contâiner ID
- Como funciona a injeção de dependência(ID)
- Usando a ID na ASP .NET Core

11a. Criando Serviços e usando a ID - 16:50 minutos
- Criando serviços usando a Injeção de dependência
- Definindo serviços : Interface e classe de Serviço
- Registrar a interface e os serviços em ConfigureServices
- Injetando os serviços no método Configure

12a.  Arquivos Estáticos -   9:14 minutos
- Apresentando arquivos estáticos : css, html, img, js
- Localização : wwwroot
- Acessando arquivos estáticos
- Inserindo o pacote StaticFiles
- Usando o Middleware :  UseStaticFiles();

13a. Acessando Arquivos - 10:43 minutos
- Acessando o sistema de arquivos
- Provedores de arquivos - Files Providers
- IFileProvider :  IFileInfo, IDirectoryContents, IChangeToken
- Implementações de IFileProvider

14a. Middleware -  10:08  minutos
- Middlewares - Definição e Conceitos
- Como funciona um middleware : pipeline de requisições
- Usando middlewares via interface IApplicationBuilder  
- Método Configure() da classe Startup :  ordem é crítica

15a. Tratamento de erros -  12:36 minutos
- Apresentando o tratamento de erros
- Middleware para tratar erros : Microsoft.AspNetCore.Diagnostics
- UseExceptionHandler() - tratamento de erro específico
- UseStatusCodePages() - método para código de status HTTP
- UseStatusCodePagesWithRedirect - redireciona URL

16a. Session -  9:39 minutos
- Apresentando Session e o estado da aplicação
- Session - Microsoft.AspNetCore.Session
- Mantém o estado da sessão usando cookies
- Habilitando o middleware: UseSession no método Configure()

17a. Atividade -  3 vídeo aulas :
- Criando um Middleware :
- Lendo um arquivo de configuração INI
- Fazendo o tratamento de erros
- Exercícios propostos e resolvidos

Módulo 2 - ASP .NET Core MVC

1a. Padrão MVC -  12:09  minutos
- Apresentando o padrão MVC - Model, View, Controller
- MVC - Fluxo de requisição e o roteamento
- A implementação MVC na ASP .NET Core MVC
- A convenção sobre configuração

2a. Aplicação ASP .NET Core MVC -  17:37 minutos
- Criando uma app ASP .NET Core MVC usando a NET CLI
- Abrindo o projeto no VS 2017 e no VS Code
- Explicando o layout da aplicação
- Como funciona a aplicação MVC
- O serviço e o middleware : Services.AddMvc() e UseMvc()

3a. Controllers - 18:42 minutos
- Apresentando o Controller : definição e conceitos
- Pasta Controllers : classes dos controladores
- A convenção de nomes para os Controllers
- Os Controllers e métodos Action
- Como o controller funciona:  o tratamento da requisição
- Criando controllers em uma app no VS 2017
- O Scaffolding e as opções para criar Controllers
- Abrindo o projeto no VS Code:  criando controllers

4a. Ferramenta Watch Tool -  7:03 minutos
- Apresentando a ferramenta Watch Tool
- Usando o dotnet Watch no VS Code
- Incluindo Microsoft.DotNet.Watcher.Tools no arquivo .csproj
- Executando : dotnet watch run

5a. IActionResult -   15:24 minutos
- Os tipos de retorno de IActionResult nos métodos Action
- Os métodos da classe base Controller e ControllerBase
- Tipos de retorno: ViewResult, ContentResult,JsonResult, etc.
- Alterando o mapeamento padrão

6a. HttpContext -  8:57  minutos
- Acessando e usando HttpContext
- O que é o HttpContext
- Acessando direto em Controllers
- Acessando via parâmetros em Middlwares
- Habilitando o HttpContext
- IHttpContextAcessor e HttpContextAcessor
- Usando HttpContext

7a. Métodos Action - Parâmetros -  10:39 minutos
- Passando parâmetros para métodos Action
- A convenção usada na passagem de parâmetros
- O roteamento definido no arquivo Startup
- Parâmetros : embutidos na Url, query string, formulários
- Exemplo prático no VS Code

8a. Roteamento -   16:02 minutos
- Apresentando o roteamento e o roteamento padrão
- A rota padrão : {controller=Home}/{Action=Index}/{id?}
- A convenção no funcionamento do roteamento
- Cada Requisição é mapeada para uma Action
- A definição das rotas: app.UseMvc(routes => ...)
- O middleware :  app.UseMvcWithDefaultRoute()
- Criando novas rotas no método Configure()

9a. Atributo Routing -  16:05 minutos
- Usando o Atributo Route
- Definindo rotas via atributos
- Definir rotas a nível de controlador
- Definir rotas a nível de Action
- Parâmetros opcionais e valores padrão
- Rotas com restrições

10a. Víews -  13:02  minutos
- Apresentando as Views
- As views .cshtml e a sintaxe Razor
- A pasta Views e convenção para armazenar as Views
- As views compartilhadas : pasta Shared
- O código Razor usado nas Views
- O arquivo de _Layout  :  cabeçalho e rodapé

11a. ViewData e ViewBag  - 19:42 minutos
- Passando dados entre o Controller e a View
- Usando ViewBag, ViewData
- Exemplo prático no VS Code

12a. Model -  17:54 minutos
- Apresentando o Model
- Passando dados para a View via model : @model
- Acessando a instância na View : @Model
- Exemplo prático no VS Code

13a. ViewModel - 17:00 minutos
- Apresentando ViewModel : conceitos
- Separando as informações e responsabilidades do Model
- Dados e comportamento relacionados com as Views
- Exemplo prático usando ViewModel no VS 2017

14a. ModelBinding -  6:07 minutos
- Apresentando o conceito de ModelBinding
- Como o ModelBinding funciona
- Requisição Http:  Rota e Dados
- Identificando Controller e Action e passando os dados
- Usando a convenção de nomes para passar os dados

15a. ModelBinding : Exemplo - 31:19 minutos
- Exemplo prática de funcionamento do Model Binding
- Criando um projeto ASP .NET Core MVC
- Definindo o Model, Controller e Views
- Passando os dados via Model Binding
- Projeto criado no VS 2017 - template Web Application

16a. HtmlHelpers -  5:20 minutos
- Apresentando os HtmlHelpers
- Sintaxe dos HtmlHelpers
- Principais métodos HtmlHelpers
- Exemplo de funcionamento e utilização

17a. HtmlHelpers : Exemplo - 17:09  minutos
- Exemplo de utilização de HtmlHelpers
- Aplicação Asp Net Core MVC no VS 2017
- Usando HtmlHelpers simples e tipados

18a. TagHelpers -  7:05 minutos
- Apresentando as TagHelpers
- Definição e Conceito :  Alternativa aos HtmlHelpers
- Apresentando as principais taghelpers
- Habilitando tagHelpers no arquivo _ViewImports.cshtml
- Tag Helper Form e Tag Helper Input

19a. Tag Helpers : Exemplo - 6:44 minutos
- Exemplo prático de utilizaão de TagHelpers
- Aplicação Asp Net Core MVC no VS 2017
- Usando as TagHelpers tipadas

20a. Partial Views - 5:30 minutos
- Partial Views - definição e conceitos
- Permite reutilização de código
- @Html.Partial("") e Html.RenderPartial("")
- Acessando dados nas Partial Views
- Localizando as partial views

21a.  Partial Views : Exemplo -  13:14 minutos
- Exemplo prático de utilização de Partial Views
- Aplicação Asp Net Core MVC no VS 2017
- Criando Partial Views para exibir um menu
- Criando Partial Views para exibir um rodapé

22a. Layout -  14:48  minutos
- Apresentando o Layout : conceitos
- A propriedade : Layout
- Os arquivos : _Layout, _ViewStart e ViewImports 
- Apresentando RenderBody : conceito
- Apresentando RenderSection e @section
- Exemplo de funcionamento no VS 2017

23a. ViewComponents -  5:04 minutos
- Apresentando View Components : conceito
- Criação de uma View Component
- Usando uma ViewComponent 

24a. View Components : Exemplo - 18 minutos
- Criando e usando uma ViewComponent
- Aplicação Asp Net Core MVC no VS 2017
- Usando InvokeAsync e a TagHelper 

25a. Razor Pages - 13:44 minutos
- Apresentando Razor Pages
- Requisitos para utilização do recurso
- Usando o template Web Application no VS 2017
- A estrutura de um projeto Razor Page
- Criando Razor Pages usando o NET CLI
- Abrindo o projeto no VS Code

26a. Razor Pages : Exemplo -  24:08 minutos
- Criando uma aplicação Razor Pages no VS 2017
- Usando o Entity Framework Core Code First
- Criando um Quadro de Avisos

27a. Víew Injection no VS 2017 -  18:57 minutos
- Apresentando o recurso View Injection :  conceitos
- Sintaxe usada : @inject <serviço> <nome>
- Modos de vida do serviço injetado 
- Criando o projeto de exemplo no VS 2017

28a. View Injection no VS Code -  14:27 minutos
- Exemplo de utilização do View Injection
- Criando o projeto na ferramenta de linha de comando NET CLI
- Usando o template web e criando um projeto vazio
- Abrindo o projeto no VS Code e fazendo os ajustes para MVC
- definindo a View Injection 

29a. Areas -  10:10 minutos
- Apresentando o conceito de Areas
- Quando usar Areas
- Características das Areas
- Estrutura de um projeto MVC com Areas 
- Usando o atributo : [Area("")] e definindo a rota da Area
- Gerando links para Areas :  TagHelper e/ou HtmlHelper

30a. Areas : Exemplo -  31:22 minutos
- Exemplo prático de utilização de Areas
- Usando um projeto ASP .NET Core MVC no VS 2017
- Criando as áreas Admin e Produtos
- Definindo as rotas das áreas
- Usando o atributo [Area("")] no controlador

31a. Atividade - 21:36 minutos
- Exibir em uma view uma lista suspensa de paises
- Obter os dados de um banco de dados
- Usar taghelper <select>

Módulo 3 - Acessando Dados

1a. Introdução - 1:12  minutos
- Como acessar dados
- Fazer a manutenção de dados
- Usando ADO .NET e Entity Framework
- Abordagem Code-First e DataBase First
- Usar o Migration
- Usar o LINQ para consulta e persistência
- Validando dados com Data Annotation e Fluent API

2a. ADO .NET - 6:56 minutos
- Apresentando a ADO .NET
- O DataSet e os provedores .NET
- Connection, Command e DataAdapter
- Cenário tipo de acesso a dados
- Arquitetura ADO .NET

3a. Acessando Dados com ADO .NET -  28:59 minutos
- Acessando informações de um banco de dados relacional
- O conceito MVC e a arquitetura em camadas
- Projeto ASP .NET Core MVC no VS 2017
- Usando SQL Server Management Studio
- Criando Banco de dados Escola e tabela Alunos
- Criando modelo de domínio; Usando stored procedures
- Criando camada de negócio : IAlunoBLL e AlunoBLL
- Criando o Controller e a View usando o Scaffolding

4a. Incluindo Dados com ADO .NET -  19:48 minutos
- Incluindo dados na tabela Alunos com Ado .NET
- Definindo o método IncluirAluno na camada de Negócio
- Criar a stored procedure para incluir dados no BD
- Criando a Action Create(Get/Post) e a View Create via Scaffold

5a. Validação de dados -  15:46 minutos
- Validando dados no cliente ou no Servidor ?
- Usando o ModelState no Controller
- Definindo a lógica de validação
- AddModelError() e ModelState.IsValid

6a. Data Annotations -  13:04 minutos
- Validação de dados com Data Annotations
- Usando atributos Data Annotations no modelo de domínio
- Principais atributos de validação
- Exemplo de validação no VS 2017

7a. Editando Dados com ADO .NET -  26:12 minutos
- Editando dados da tabela Alunos com ADO .NET
- Criando o método AtualizarAluno() na camada de negócio
- Criar stored procedure para alterar dados no BD
- Criar a Action Edit (Get/Post) e a view Edit.cshtml via Scaffolding

8a. Customizando o ModelBind -  11:59 minutos
- Customizando o comportamento do Model Binding
- Usando atributos : Bind, BindRequired, FromBody, FromRoute
- Exemplo de utlização no VS 2017

9a. Deletando dados com ADO .NET -  minutos
- Deletando dados da tabela Alunos com ADO .NET
- Criando o método DeletarAluno() na camada de negócio
- Criar stored procedure para alterar dados no BD
- Criar a Action Delete(Get/Post) e a view Delete.cshtml

10a. Deletar dados usando JavaScript - 7:22  minutos
- Solicitando a confirmação de exclusão com JavaScript
- Apresentando a janela de confirmação para excluir
- Usando o HtmlHelper Html.BeginForm

11a. Exibindo detalhes com ADO .NET -  9:23 minutos
- Exibindo detalhes de um aluno com ADO .NET
- Usndo o método getAlunos() na camada de negócio
- Criar a Action Details(Get) e a view Details.cshtml

12a. Procurar e Filtrar dados com ADO .NET - 15:10 minutos
- Localizando e filtrando dados com ADO .NET
- Criando um formulário de pesquisa : @Html.BeginForm()
- Criar a Action Procurar() e a view Procurar.cshtml
- Usar o método getAlunos()  

13a. Exibindo Imagens  22:07 minutos
- Exibindo imagens nos detalhes de um Aluno
- Usando a Action Details
- Alterando a View Details para exibir uma imagem
- Alterar a estrutura da tabela Aluno: Foto e Texto
- Alterar a estrutura das stored procedures
- Alterar os métodos da camada de negócio
- Muito trabalho : melhor usar Entity Framework.

14a. AntiForgery Token -  4:59 minutos
- Apresentando o AntiForgey Token
- Prevenindo o ataque cross site 
- Usando o recurso : [ValidateAntiForgeryToken]  na Action
- Usar @Html.AntiForgeyToken na View
- Como funciona

15a. Entity Framework Core -  7:43  minutos
- Apresentando o Entity Framework Core 2.0
- Ferramenta ORM : Mapeamento dados/objeto
- EF Core multiplataforma e open source
- Como o Entity Framework funciona :  DbContext e DbSet
- LINQ - Language Integrated Query
- Abordagens :  Code-First e Database First

16a.  Usando o EF Core 2.0 - 18:23 minutos
- Usando o EF Core 2.0
- .NET Core SDK 2.0 instalado e VS 2017 Community 15.3.3
-  Referenciando o EF Core no projeto via Nuget
- Abordagem Code-First : partindo do modelo de domínio
- Criando a classe de Contexto
- Definindo a string de conexão do banco de dados
- Registrando o Contexto como um serviço

17a. EF Core Migrations -  12:18 minutos
- Usando Migrations do EF Core 2.0
- Gerando o banco de dados e as tabelas com o Migrations
- add-Migration, remove-migration e update-database
- Aplicando o Migrations

18a. Alimentando o Banco de Dados -  9:32 minutos
- Alimentando as tabelas com dados de teste usando o Migrations
- Apresentando o arquivo ModelSnapshot que representa o esquema atual
- Criando o Migration para alimentar o BD
- Usando os métodos Up() e Down()
- Usando o comando SQL INSERT INTO para incluir dados
- Usando o comando SQL DELETE  FROM para reverter 

19a. Criando Controllers e View com Scaffolding -   12:56 minutos
- Criando o Controller, os métodos Actions e as Views
- Habilitando o Scaffolding
- Selecionando as opções de Scaffolding para MVC
- Criando o Controller com Actions e Views usando o EF Core 
- Definindo a classe do modelo e do contexto
- Definindo as Views, o Layout e o nome do Controller

20a. Consultar dados com LINQ - EF Core  - 13:25 minutos
- Criando um novo Controlador - TesteController
- Registrando a instância do contexto como um serviço
- Injetar o serviço no construtor do Controller 
- Definir um método Action Index
- Definir uma consulta LINQ para retorna dados do contexto
- Cria a view Index.cshtml para exibir a lista de alunos
- Usando o template List

21a. Adicionando dados com EF Core - 13:45 minutos
- Criando as Action Create(Get/Post)
- Definir o atributo Bind e usar ValidateAntiForgeryToken
- Criar a View Create.cshtml usando o Scaffolding
- Incluindo dados com EF Core: Add(), AddRange()
- Incluir objeto no contexto e usar SaveChanges()

22a. Editar dados com EF Core -  21:03 minutos
- Criando as Action Edit(Get/Post)
- Definir o atributo Bind e usar ValidateAntiForgeryToken
- Criar a View Edit.cshtml usando o Scaffolding
- Alterar dados com EF Core: Update(objeto)
- Alterar o objeto no contexto e usar SaveChanges()

23a. Deletar dados com EF Core -  15:55 minutos
- Criando as Action Delete(Get/Post)
- Definir o atributo Bind e usar ValidateAntiForgeryToken
- Criar a View Delete.cshtml usando o Scaffolding
- Excluir  dados com EF Core: Remove(objeto)
- Excluir o objeto do contexto e usar SaveChanges()

24a. Exibindo Detalhes com EF Core - 8:05 minutos
- Criando a Action Details(Get)
- Criar a View Details.cshtml usando o Scaffolding
- Resumo do CRUD com EF Core 2.0

25a. Alterando o modelo de entidades - 17:58 minutos
- Alterando o modelo de domínio : incluindo propriedades
- Incluindo as propriedades Foto e Texto
- Definir as restrições usando Data Annotations
- Aplicar o Migrations
- Incluir uma nova entidade : TipoSocio
- Definir as propriedades e aplicar o DataAnnotations
- Definir o relacionamento entre as tabelas

26a. Exibindo dados Relacionados -  17:39 minutos
- Exibindo dados de entidades relacionadas
- Usando as propriedades de navegação para carregar dados
- Usando o Eager Loading
- Carregando dados dos Alunos e TipoSocio

27a. Fluent API -  11:04 minutos
- Apresentando Fluent API
- Validando entidades com Fluent API
- Definindo o mapeamento e configuração em OnModelCreating
- Vantagens da Fluent API
- Principais recursos da Fluent API

28a. Fluent API - Exemplo -  25:10 minutos
- Fluent API - métodos para configurar Tipos e propriedades
- Configurando relacionamentos com Fluent API
- Relacionamento um-para-um e um-para-muitos
- Exemplo prático usando o VS 2017 Community

29a. EF Core Database First -  20:00  minutos
- Apresentando a abordagem DataBase First
- Partindo do banco de dados e as tabelas
- Gerando as entidades e o contexto
- Referenciando o Ef Core 2.0 no projeto no VS 2017
- Fazendo a engenharia reversa do banco de dados e tabelas

30a. EF Core Code First usando NET CLI -   28:22 minutos
- Criando aplicação ASP .NET Core com EF Core no Linux/Mac   
- .NET Core SDK e VS Code com NET CLI 
- Referenciar o EF Core 2.0 no projeto : dotnet add package
- Criar o projeto mvc usando a ferramenta NET CLI : dotnet new
- Abrindo o projeto no VS Code
- Definir o modelo de domínio e a classe de contexto
- Definjir a string de conexão e aplicar o Migration

31a.  EF Core Code First usando NET CLI  II -   16:45 minutos
- Populando as tabelas com MIgrations
- Registrar e configurar o contexto no Startup
- Criar o controller e injetar o serviço do contexto no construtor
- Criar o método Action Index
- Criar a View Index

32a. EF Core Database First usando NET CLI-  21:43 minutos
- Aplicação ASP .NET Core com DataBase First usando NET CLI
- Partindo do banco de dados e as tabelas
- Gerando as entidades e o contexto
- Referenciando o Ef Core 2.0 no projeto no NET CLI
- Fazendo a engenharia reversa do banco de dados e tabelas
- Abrindo o projeto com o VS Code

33a. Usando a Paginação de dados -  14:38 minutos
- Realizando a paginação de dados na ASP .NET Core MVC c/EF Core
- Usando o pacote : ReflectionIT.Mvc.Paging
- Paginação : incluir serviço services.AddPaging()
- Definir a paginação no método do Controller
- Alterar a view incluindo o namespace as taghelpers

34a. Atividade -  21:46 minutos
- Criar solução ASP .Net Core MVC e referenciar o EF Core no projeto;
- Definir um modelo de entidades com propriedades e associações-
- Definir a sua classe de contexto com respectivos DbSets;
- Definir a validação usando Data Annotations
- Realizar o mapeamento entre as entidades usando a Fluent API;
- Aplicar o Migrations no EF Core
- Registrar o seu contexto no arquivo Startup.cs;
- Criar o controlador com Actions e respectivas views usando o Scaffolding;
- Exibir dados relacionados;

Módulo 4 - Segurança

1a. ASP .NET Core Identity - Introdução - 5:37 minutos
- Apresentando a ASP .NET Core Identity
- Implementação da Segurança
- Autenticação e Autorização
- IdentityUser , UserManager, RoleManager 

2a. Usando ASP .NET Core Identity -  27:18 minutos
- Usando Identity em uma aplicação ASP .NET Core MVC   
- Criando um projeto mvc com Individual User Accounts
- A estrutura do projeto com Identity
- As referências ao EF Core e as classes do domínio e contexto
- Configuração do Identity e o middleware app.UseAuthentication()
- Usando o Migrations do Identiy

3a. Autenticação e Autorização com Identity -  26:40 minutos
- Criar projeto ASP .NET Core MVC com Individual User Accounts
- Gerenciando informações de Contatos
- Criando o modelo de domínio
- Definindo o DbSet na classe de contexto ApplicationDbContext
- Aplicando o Migrations para gerar o banco de dados e tabelas
- Aplicando a Autenticação : Login e Register
- Aplicando a Autorização usando o atributo Authorize

4a. Fazendo o Login com o Facebook -  17:02 minutos
- Fazendo o login usando as credenciais do Facebook
- Criar aplicação no Facebook : AppId e AppSecret
- Habilitar o SSL
- Registrar a AppId e a AppSecret no appsettings
- Configurar o serviço de autenticação usando provedor de terceiros
- Adicionar o serviço do Facebook em ConfigureServices

5a. Usando a ferramenta Secret Manager -  11:12  minutos
- Armazenando informações confidenciais com o Secret Manager
- Armazenando as informações do AppId e AppSecret
- Referenciar o pacote :  Microsoft.Extensions.SecretManager.Tools
- Incluir o node <UserSecretsId>
- Criar o arquivo secrets.json
- Acessar as informações : dotnet user-secrets -h

6a. Alterar a configuração padrão do Identity -  13 minutos
- Alterando a configuração padrão do Identity
- Politicas de senha, bloqueio do usuário, configurações de login
- Validações de usuário, configurações de cookies
- Usar o método ConfigureServices() : services.AddIdentity(options)
  
7a. Gerenciando Roles - 14:10 minutos
- Tratar Autorização com Roles : perfil de um usuário
- Verificação de autorização usando Role e Authorize
- Exemplo prático com VS 2017 

8a. Gerenciando Roles via código - 20:42 minutos
- Gerenciamento de Roles e verificação de perfis de usuário
- Definindo Roles ao usuário no código   
- Verificando os perfis com Authorize

9a Usando Identity com NET CLI -  11:52
- Usando a Autenticação e Autorização com Identity no NET CLI
- Criando um projeto mvc com autenticação : dotnet mvc -auth Individual
- Aplicando o Migrations : dotnet ef migrations add <nome>

10a. Claims - 18:07 minutos
- Apresentando Claims : definição e conceitos
- Autorização baseda em Claimns
- ClaimsPrincipal : lista de claims do usuário atual
- User.Clamins, AddClaim; Adicionando verificações de claims
- AddPolicy(), Authorize(Policy="")

11a. Claims : Exemplo  - 25:54 minutos
- Exemplo de autorização baseada em Claims
- Aplicação ASP.NET Core com autenticação
- Incluir Claim no usuário registrado
- Verificar a autorização no controller: Authorize(Policy="")

12a. Segurança em Web API - duração 20:33  minutos
- Implementando a segurança em uma Web API
- Identity, provedores externos, autorização baseada em Token
- JWT - JSON Web Tokens
- Usando Identity

13a. Segurança em Web API  II - duração 26:36  minutos
- Implementando a segurança em uma Web API
- Usando Identity
- Definindo as ViewModels
- Criando o Controller e os métodos Action
- Definindo as views para registro e login
- Verificando a autenticação :  Authorize 

14a. Apresentando CORS -  12:30 minutos
- Apresentando o CORS : conceitos
- Cross Origin Resource Sharing
- Permitindo requisições Ajax de origem cruzada
- Como funciona ; Configurando CORS
- Usando o middleware CORS

15a. Autenticação via Cookies -  5:00 minutos
- Apresentando a autenticação via Cookies  (Sem Identity)
- Configuração da autenticação via cookies
- AddAuthentication e AddCookie
- Definir o esquema de autenticação
- Invocar o middleware : UseAuthentication()
- Definir CookieAuthenticationOptions na configuração do serviço

16a. Autenticação via Cookies : Exemplo -  20:51 minutos
- Autenticação via Cookies na ASP .NET Core mvc no VS 2017
- Definir o modo de autenticação no serviço : AddAuthentication()
- Definir as opções de autenticação
- Definindo a classe LoginViewModel: usuario e senha
- Criar o controller e o método Action Login
- Validar o Login e definir as claims do usuário
- Validar a autorização : Authorize()

17a. JWT - JSON Web Tokens -  10:18 minutos
- Apresentando JSON Web Tokens
- Definição e Conceitos
- Como funciona a JWT : processo de autenticação
- Estrutura de um Token JWT

18a. JWT - JSON Web Tokens: Exemplo - 27:52 minutos
- Usando JSON Web Tokens para autenticar uma Web API
- Criar projeto ASP .NET Core Web API no VS 2017
- Criar ViewModel LoginViewModel
- Criar Controller AccountController
- Criar View Login e controlador TokenController
- Implementar a autenticação e geração do token no Startup
- Aplicar Authorize e testar no Postman

19a. Atividade - 30:37 minutos
- Criar aplicação ASP .NET Core e implementar a autenticação via Jwt
- Criar projeto vazio no NET CLI (Sem usar o VS 2017)
- Instalar o pacote System.IdentityModel.Tokens.Jwt
- Habilitar o serviço Mvc e autenticação e configurar o Jwt
- Criar o controlador TokenController e gerar o Token
- Criar página de Login e definir a geração do Token

Módulo 5 - Web API

1a. Introdução - 13:50 minutos
- Apresentação Web API - conceitos
- Diferenças entre Web API e MVC
- Na ASP .NET Core Web API e MVC herdam da classe Controller
- Web API - construir serviços HTTP (REST)
- Métodos HTTP : GET, POST , PUT, DELETE

2a. Criando uma Web API  -  15:33 minutos
- Criando uma Web API na ASP .NET Core 2.0
- .NET Core 2.0 SDK : VS 2017 ou NET CLI e VS Code
- Criando um projeto Web API no VS 2017
- Apresentando o projeto e sua estrutura 
- Definir URI para acessar o recurso no roteamento
- Acessar os recursos da Web API

3a. Web API Produtos : Padrão Repositório  -  17:13 minutos
- Criar uma Web API para gerenciar informações de produtos 
- Definindo os métodos da Web API
- Definir modelo de domínio, Criar repositório e interface
- Usando o padrão repositório

4a. Web API Produtos : Controller - 20:40 minutos
- Criando o controller: ProdutosController
- Definindo o roteamento : api/[controller]
- Definir os métodos Action do Controller

5a. Web API Produtos : Postman -  13:50 minutos
- Consumindo uma Web API usando o Postman
- Apresentando e instalando o Postman
- Acessando a Web API via Postman
- Testando o GET, PUT,  POST e DELETE

6a. Web API Contatos : EF Core -  22:01 minutos
- Criando uma Web API usando o EF Core Code First
- Criar Web API para gerenciar informações de Contatos
- Definir modelo de domínio e classe de contexto
- Registrar o contexto , definir a string de conexão
- Criar o banco de dados usando Migrations
- Criar o controlador ContatosController com métodos Action
- Usar o Scaffolding e a opção API Controller with Actions using EF core

7a. Web API Contatos : EF Core : Postman  9:28 minutos
- Consumindo a Web API usando o Postman
- Acessando a Web API via Postman
- Testando o GET, PUT,  POST e DELETE

8a. Web API : Consumir com MVC -  18:16 minutos
- Consumindo a Web API ContatosController em uma app MVC
- Criando o controlador MVC TesteController para consumir a Web API
- Definir o método Action Index para acessar a Web API

9a. Web API : Consumir com MVC II -  31:03 minutos
- Definindo os demais métodos do controller MVC TesteController
- Definir os métodos Action Create, Edit, Delete
- Definir as Views usando o Scaffolding 

10a. Web API : Consumir com JavaScript (jQuery) -  18:42 minutos
- Consumindo a Web API definida em ContatosController com JavaScript
- Criar controlador HomeController
- Criar view Index e referenciar o JQuery
- Definir o código JQuery
- Ajustar o projeto :  _ViewStart, _ViewImports e _Layout
- Definir o roteamento e consumir a Web API

11a. Criar WEB API Tarefas no NET CLI e VS Code - 14:00 minutos
- Definir serviços da Web API Tarefas
- Requisitos: ,NET Core SDK , NET CLI e VS Code
- Criar projeto web api usando NET CLI e VS Code
- Referenciar o Entity Framework Core no projeto

12a. Criar WEB API Tarefas no NET CLI e VS Code II -  25:14 minutos
- Definir o modelo de domínio Tarefa e a classe de Contexto
- Definir a string de conexão no arquivo appsettings.json
- Registrar o contexto como um serviço
- Aplicar o migrations : dotnet ef migrations add
- Popular a tabela usando o MIgrations
- Criar o controller TarefaController
- Definir o método Action para retornar todas as tarefas

13a. Criar WEB API Tarefas no NET CLI e VS Code III - 17:48 minutos
- Definir os demais métodos Action para acessar a Web API
- Consumindo a Web API
- Usando o dotnet watch

14a. Web API - Documentação com Swagger -  12:48  minutos
- Gerando a documentação para Web API com Swagger
- Apresentando o Swagger : Swashbuckle.AspNetCore
- Adicionar e configurar o Swagger
- Usar o Swagger : http://localhost:XXX/swagger/v1/swagger.json
- Acessar a interface com : http://localhost:xxx/swagger

15a. Atividade  - 28:32 minutos e  24:49 minutos
- Consumir uma Web API em uma aplicação Windows Forms
- Criar a Web API  ASP . NET CoreProdutosAPI
- Consumir os serviços da Web API
- Criar projeto Windows Forms WFProdutosAPI

Módulo 6 - Front End : Angular

1a. Introdução ao Angular - 20:09 minutos
- Integrando a ASP .NET Core com o Angular
- Criando uma aplicação Single Page Application - SPA
- Conceitos de SPA
- Lado do Cliente : Angular , lado do servidor : ASP .NET Core
- Opções de desenvolvimento e requisitos
- Nodejs, NPM, TypeScript, Angular e Angular CLI

2a. Aplicação ASP .NET Core com Angular  -  22:05 minutos
- Criar aplicação Integrada ao Angular usando o EF Core
- Usando o template Angular no VS 2017
- Incluir as referências ao Entity Framework Core 
- Criando o Backend : A Web API
- Criar o controlador API com Actions e Views usando o Scaffolding
 
3a. Aplicação ASP .NET Core com Angular  II -  23:15 minutos
- Criar o front-end usando o Angular
- Apresentando os componentes do Angular
- Criar a pasta do componente: Cliente
- Criar os arquivos do componente: cliente.component.ts e html
- Ajustar o menu da aplicação e definir as rotas para o clientecomponent

4a. Aplicação ASP .NET Core com Angular  III - 29:50 minutos
- Definir o serviço Angular para acessar a Web API
- Definir o serviço para exibir os clientes
- Criando a classe ClienteService em cliente.service.ts
- Definir a lógica do componente para acessar os serviços
- Definir a view do componente para exibir as informações dos clientes 

5a. Aplicação ASP .NET Core com Angular  IV -  28:39 minutos
- Definir o serviço para incluir um cliente
- Definir a lógica método no componente para incluir cliente
- Definir da view do componente para exibir o formulário
- Usando os recursos do Angular ReactiveForms, FormGroup

6a. Aplicação ASP .NET Core com Angular  V -  22:44 minutos
- Definir o serviço para incluir um editar e deletar um cliente
- Definir a lógica do componente para deletar e editar um cliente
- Definir da view do componente para edição e exclusão

7a.  Single Page Application ou Aplicação Web - 5:59 minutos
- Comparando SPA com app web tradicional
- Principais recursos das Single Page Application
- As vantagens e desvantagens de cada abordagem
- Quando usar uma abordagem SPA

8a. Atividade -   23:43 minutos
- Integrando uma aplicação ASP .NET Core com Angular
- Usando o micro ORM Dapper
- Criar o Banco de dados e as tabelas
- Criar as stored Procedures
- Definir o serviço da Web API
- Criar a interface e sua implementação
- Criar o backend e a seguir o front-end com Angular

Módulo 7 - Projeto

1a. Fatores que impactam o Projeto - 8:50 minutos
- Os principais fatores que impactam o seu projeto ASP .NET Core
- Os requisitos do projeto : as incertezas
- Decompondo os requisitos e definindo a complexidade
- Definindo o tamanho da sua aplicação
- Definindo uma arquitetura de referência
- Escopo, Audiência, Escalabilidade, Confiabilidade e Segurança

2a. Princípios básicos para criar um projeto  -  8:37 minutos
- Princípios básicos para criar um projeto robusto
- Separação das responsabilidades
- Encapsulamento 
- Injeção de dependência
- Princípios SOLID
 
3a. Estilos de arquiteturas de projeto -  16:27 minutos
- Apresentando estilos de arquiteturas de projeto 
- O desenvolvimento em camadas: benefícios
- Layers ou Tiers : definição
- Arquitetura em 3 camadas : Apresentação, Negócio e Dados
- Benefícios e Problemas
- Arquitetura em Cebola - Onion Archicteture
- As vantagens e desvantagens
- Entendendo MVC e 3 Camadas.

4a. Criando uma aplicação em camadas - 21:25 minutos
- Criando uma solução ASP .NET Core MVC no VS 2017
- Criando dois projetos : o projeto Web MVC - Artistas.Web
- O projeto Class Library que será  a camada de acesso dados - Artistas.DAL
- Acessando dados com EF Core Code First no SQL Server
- Referenciando o EF Core no projeto Artistas.DAL
- Definindo o modelo de domínio e a classe de Contexto

5a.  Criando uma aplicação em camadas II -  22:44 minutos
- Mapeando as entidades usando a Fluent API
- Criando uma classe Startup e um arquivo json para definir a conexão 
- Registrando o contexto como um serviço na classe Startup
- Aplicando o Migrations para gerar o banco de dados e as tabelas
- Populando as tabelas com dados usando o Migrations

6a. Aplicação ASP .NET Core com Angular  V -  8:21 minutos
- Definir a string de conexão no arquivo appsettings no projeto Artistas.Web
- Registrar o contexto como um serviço no projeto Artistas.Web
- Criar o controlador ArtistasController com Actions e Views com EF Core

7a. O padrão Repositório e Unit of Work - 14:17 minutos
- Padrão Repositório :  definição e conceitos
- Benefícios do padrão Repositório
- Padrão Unit Of Work : definição e conceitos
- Para que serve o Unit of Work
- Usando corretamente os padrões

8a. Implementando o padrão Repositório e Unit of Work -  20:18 minutos
- Implementando o padrão repositório e unit of work no projeto em camadas
- Desacoplando a camada de acesso a dados do Entity Framework
- Definindo o Repositorio e a UnitOfWork no projeto Artistas.DAL
- Criando o Repositório genérico e o repositório específico

9a. Implementando o padrão Repositório e Unit of Work  II -  21:21 minutos
- Registrando o serviço para a UnitOfWork  no projeto Web
- Criando o controlador mvc TesteControler acessando o repositório
- Definindo os métodos Action e acessando via UnitOfWork o repositório
- Criando as Views para os Métodos Action

10a. Deploy -  21:28 minutos
- Apresentando os conceitos de Deploy na ASP .NET Core
- Deploy em múltiplos ambientes usando o VS 2017 ou o NET CLI
- Publicar o aplicativo em uma pasta no servidor
- Configurar um gerenciandor de processo
- Configurar um proxy reverso

11a. Deploy no Azure App Service - 15:56 minutos
- Fazendo o deploy 
- Criar conta gratuita no Azure
- Deploy de projeto ASP .NET Core com EF Core e SQL Server e Segurança
- Fazendo o deploy usando o VS 2017 - opção Publish
- Microsoft Azure App Service - Create New

12a. Atividade - 16:52
- Usando a NET CLI e o VS Code criar uma solução e dois projetos
- Crie uma pasta chamada Artistas para conter os projetos e a solução
- Na pasta Artistas crie uma solução chamada Artistas.sln
- Na pasta Artistas crie um projeto do tipo Class Library com o nome Artistas.DAL
- Na pasta Artistas crie um projeto MVC com o nome Artistas.Web
- Inclua uma referência no projeto Artistas.Web ao Projeto Artistas.DAL
- Inclua as referência ao EF Core no projeto Artistas.DAL

Curso ASP .NET Core 2.0
R$100,00 R$90,00
Curso ASP .NET Core 2.0 R$90,00

Curso ASP .NET Core 2.0 - Básico/Intermediário Vídeo Aulas ( C# )

135 Vídeo Aulas com Projetos Completos e Atividades Resolvidas
Conteúdo e duração de cada vídeo aula

Módulo 1 - Fundamentos

1a. Introdução - 5:22 minutos
- Apresentação do Curso

2a. Apresentação -  12:32 minutos
- Apresentação
- Novos Recursos
- Ambiente de Desenvolvimento
- Opções de Desenvolvimento

3a. Configurando o ambiente -  15 minutos
- Cenário Atual
- Visual Studio - Opções de templates de projetos
- ASP .NET Core 2.0,  ,NET Core 2.0,  EF Core 2.0 , VS 2017
- Ferramentas de linha de comando : NET CLI
- Visual Studio Code

4a. Estrutura do Projeto VS 2017 - 7:29 minutos
- Estrutura do projeto ASP .NET Core no VS 2017
- Startup, ConfigureServices, Configure
- Primiero Projeto ASP .NET Core - Empty

5a. Apresentando o VS Code-   12:19 minutos
- Apresentando o VS Code - download
- Principais recursos
- Instalação das Extensões recomendadas
- Ebook grátis sobre VS Code

6a. Estrutura do Projeto - NET CLI - 15:33 minutos
- Apresentando a NET CLI
- Templates de projetos e comandos
- Criando um projeto na ferramenta de linha de comando
- Abrindo o projeto no VS Code

7a. Inicialização  -  12:43 minutos
- Apresentando o novo processo de inicialização
- Program.Main, Startup, ConfigureServices, Configure
- Middlewares, Serviços, Injeção de dependência
- Proxy reverso, Kestrel

8a. Configuração -  11:24 minutos
- O novo modelo de configuração
- API de configuração, para nome:valor no formato  JSON 
- Podemos usar vários formatos de arquivos: padrão é JSON
- Lendo informações de um arquivo de configuração 

9a. Environment -  15:56 minutos
- Trabalhando com múltiplos ambientes
- Variável de ambiente : ASPNETCORE_ENVIRONMENT
- Valores padrão : Development, Staging , Production
- Configurando o ambiente; controlando a inicialização

10a. Injeção de Dependência -  4:15 minutos
- Apresentando o conceito da Injeção de dependência(ID)
- Framework ASP .NET Core - Contâiner ID
- Como funciona a injeção de dependência(ID)
- Usando a ID na ASP .NET Core

11a. Criando Serviços e usando a ID - 16:50 minutos
- Criando serviços usando a Injeção de dependência
- Definindo serviços : Interface e classe de Serviço
- Registrar a interface e os serviços em ConfigureServices
- Injetando os serviços no método Configure

12a.  Arquivos Estáticos -   9:14 minutos
- Apresentando arquivos estáticos : css, html, img, js
- Localização : wwwroot
- Acessando arquivos estáticos
- Inserindo o pacote StaticFiles
- Usando o Middleware :  UseStaticFiles();

13a. Acessando Arquivos - 10:43 minutos
- Acessando o sistema de arquivos
- Provedores de arquivos - Files Providers
- IFileProvider :  IFileInfo, IDirectoryContents, IChangeToken
- Implementações de IFileProvider

14a. Middleware -  10:08  minutos
- Middlewares - Definição e Conceitos
- Como funciona um middleware : pipeline de requisições
- Usando middlewares via interface IApplicationBuilder  
- Método Configure() da classe Startup :  ordem é crítica

15a. Tratamento de erros -  12:36 minutos
- Apresentando o tratamento de erros
- Middleware para tratar erros : Microsoft.AspNetCore.Diagnostics
- UseExceptionHandler() - tratamento de erro específico
- UseStatusCodePages() - método para código de status HTTP
- UseStatusCodePagesWithRedirect - redireciona URL

16a. Session -  9:39 minutos
- Apresentando Session e o estado da aplicação
- Session - Microsoft.AspNetCore.Session
- Mantém o estado da sessão usando cookies
- Habilitando o middleware: UseSession no método Configure()

17a. Atividade -  3 vídeo aulas :
- Criando um Middleware :
- Lendo um arquivo de configuração INI
- Fazendo o tratamento de erros
- Exercícios propostos e resolvidos

Módulo 2 - ASP .NET Core MVC

1a. Padrão MVC -  12:09  minutos
- Apresentando o padrão MVC - Model, View, Controller
- MVC - Fluxo de requisição e o roteamento
- A implementação MVC na ASP .NET Core MVC
- A convenção sobre configuração

2a. Aplicação ASP .NET Core MVC -  17:37 minutos
- Criando uma app ASP .NET Core MVC usando a NET CLI
- Abrindo o projeto no VS 2017 e no VS Code
- Explicando o layout da aplicação
- Como funciona a aplicação MVC
- O serviço e o middleware : Services.AddMvc() e UseMvc()

3a. Controllers - 18:42 minutos
- Apresentando o Controller : definição e conceitos
- Pasta Controllers : classes dos controladores
- A convenção de nomes para os Controllers
- Os Controllers e métodos Action
- Como o controller funciona:  o tratamento da requisição
- Criando controllers em uma app no VS 2017
- O Scaffolding e as opções para criar Controllers
- Abrindo o projeto no VS Code:  criando controllers

4a. Ferramenta Watch Tool -  7:03 minutos
- Apresentando a ferramenta Watch Tool
- Usando o dotnet Watch no VS Code
- Incluindo Microsoft.DotNet.Watcher.Tools no arquivo .csproj
- Executando : dotnet watch run

5a. IActionResult -   15:24 minutos
- Os tipos de retorno de IActionResult nos métodos Action
- Os métodos da classe base Controller e ControllerBase
- Tipos de retorno: ViewResult, ContentResult,JsonResult, etc.
- Alterando o mapeamento padrão

6a. HttpContext -  8:57  minutos
- Acessando e usando HttpContext
- O que é o HttpContext
- Acessando direto em Controllers
- Acessando via parâmetros em Middlwares
- Habilitando o HttpContext
- IHttpContextAcessor e HttpContextAcessor
- Usando HttpContext

7a. Métodos Action - Parâmetros -  10:39 minutos
- Passando parâmetros para métodos Action
- A convenção usada na passagem de parâmetros
- O roteamento definido no arquivo Startup
- Parâmetros : embutidos na Url, query string, formulários
- Exemplo prático no VS Code

8a. Roteamento -   16:02 minutos
- Apresentando o roteamento e o roteamento padrão
- A rota padrão : {controller=Home}/{Action=Index}/{id?}
- A convenção no funcionamento do roteamento
- Cada Requisição é mapeada para uma Action
- A definição das rotas: app.UseMvc(routes => ...)
- O middleware :  app.UseMvcWithDefaultRoute()
- Criando novas rotas no método Configure()

9a. Atributo Routing -  16:05 minutos
- Usando o Atributo Route
- Definindo rotas via atributos
- Definir rotas a nível de controlador
- Definir rotas a nível de Action
- Parâmetros opcionais e valores padrão
- Rotas com restrições

10a. Víews -  13:02  minutos
- Apresentando as Views
- As views .cshtml e a sintaxe Razor
- A pasta Views e convenção para armazenar as Views
- As views compartilhadas : pasta Shared
- O código Razor usado nas Views
- O arquivo de _Layout  :  cabeçalho e rodapé

11a. ViewData e ViewBag  - 19:42 minutos
- Passando dados entre o Controller e a View
- Usando ViewBag, ViewData
- Exemplo prático no VS Code

12a. Model -  17:54 minutos
- Apresentando o Model
- Passando dados para a View via model : @model
- Acessando a instância na View : @Model
- Exemplo prático no VS Code

13a. ViewModel - 17:00 minutos
- Apresentando ViewModel : conceitos
- Separando as informações e responsabilidades do Model
- Dados e comportamento relacionados com as Views
- Exemplo prático usando ViewModel no VS 2017

14a. ModelBinding -  6:07 minutos
- Apresentando o conceito de ModelBinding
- Como o ModelBinding funciona
- Requisição Http:  Rota e Dados
- Identificando Controller e Action e passando os dados
- Usando a convenção de nomes para passar os dados

15a. ModelBinding : Exemplo - 31:19 minutos
- Exemplo prática de funcionamento do Model Binding
- Criando um projeto ASP .NET Core MVC
- Definindo o Model, Controller e Views
- Passando os dados via Model Binding
- Projeto criado no VS 2017 - template Web Application

16a. HtmlHelpers -  5:20 minutos
- Apresentando os HtmlHelpers
- Sintaxe dos HtmlHelpers
- Principais métodos HtmlHelpers
- Exemplo de funcionamento e utilização

17a. HtmlHelpers : Exemplo - 17:09  minutos
- Exemplo de utilização de HtmlHelpers
- Aplicação Asp Net Core MVC no VS 2017
- Usando HtmlHelpers simples e tipados

18a. TagHelpers -  7:05 minutos
- Apresentando as TagHelpers
- Definição e Conceito :  Alternativa aos HtmlHelpers
- Apresentando as principais taghelpers
- Habilitando tagHelpers no arquivo _ViewImports.cshtml
- Tag Helper Form e Tag Helper Input

19a. Tag Helpers : Exemplo - 6:44 minutos
- Exemplo prático de utilizaão de TagHelpers
- Aplicação Asp Net Core MVC no VS 2017
- Usando as TagHelpers tipadas

20a. Partial Views - 5:30 minutos
- Partial Views - definição e conceitos
- Permite reutilização de código
- @Html.Partial("") e Html.RenderPartial("")
- Acessando dados nas Partial Views
- Localizando as partial views

21a.  Partial Views : Exemplo -  13:14 minutos
- Exemplo prático de utilização de Partial Views
- Aplicação Asp Net Core MVC no VS 2017
- Criando Partial Views para exibir um menu
- Criando Partial Views para exibir um rodapé

22a. Layout -  14:48  minutos
- Apresentando o Layout : conceitos
- A propriedade : Layout
- Os arquivos : _Layout, _ViewStart e ViewImports 
- Apresentando RenderBody : conceito
- Apresentando RenderSection e @section
- Exemplo de funcionamento no VS 2017

23a. ViewComponents -  5:04 minutos
- Apresentando View Components : conceito
- Criação de uma View Component
- Usando uma ViewComponent 

24a. View Components : Exemplo - 18 minutos
- Criando e usando uma ViewComponent
- Aplicação Asp Net Core MVC no VS 2017
- Usando InvokeAsync e a TagHelper 

25a. Razor Pages - 13:44 minutos
- Apresentando Razor Pages
- Requisitos para utilização do recurso
- Usando o template Web Application no VS 2017
- A estrutura de um projeto Razor Page
- Criando Razor Pages usando o NET CLI
- Abrindo o projeto no VS Code

26a. Razor Pages : Exemplo -  24:08 minutos
- Criando uma aplicação Razor Pages no VS 2017
- Usando o Entity Framework Core Code First
- Criando um Quadro de Avisos

27a. Víew Injection no VS 2017 -  18:57 minutos
- Apresentando o recurso View Injection :  conceitos
- Sintaxe usada : @inject <serviço> <nome>
- Modos de vida do serviço injetado 
- Criando o projeto de exemplo no VS 2017

28a. View Injection no VS Code -  14:27 minutos
- Exemplo de utilização do View Injection
- Criando o projeto na ferramenta de linha de comando NET CLI
- Usando o template web e criando um projeto vazio
- Abrindo o projeto no VS Code e fazendo os ajustes para MVC
- definindo a View Injection 

29a. Areas -  10:10 minutos
- Apresentando o conceito de Areas
- Quando usar Areas
- Características das Areas
- Estrutura de um projeto MVC com Areas 
- Usando o atributo : [Area("")] e definindo a rota da Area
- Gerando links para Areas :  TagHelper e/ou HtmlHelper

30a. Areas : Exemplo -  31:22 minutos
- Exemplo prático de utilização de Areas
- Usando um projeto ASP .NET Core MVC no VS 2017
- Criando as áreas Admin e Produtos
- Definindo as rotas das áreas
- Usando o atributo [Area("")] no controlador

31a. Atividade - 21:36 minutos
- Exibir em uma view uma lista suspensa de paises
- Obter os dados de um banco de dados
- Usar taghelper <select>

Módulo 3 - Acessando Dados

1a. Introdução - 1:12  minutos
- Como acessar dados
- Fazer a manutenção de dados
- Usando ADO .NET e Entity Framework
- Abordagem Code-First e DataBase First
- Usar o Migration
- Usar o LINQ para consulta e persistência
- Validando dados com Data Annotation e Fluent API

2a. ADO .NET - 6:56 minutos
- Apresentando a ADO .NET
- O DataSet e os provedores .NET
- Connection, Command e DataAdapter
- Cenário tipo de acesso a dados
- Arquitetura ADO .NET

3a. Acessando Dados com ADO .NET -  28:59 minutos
- Acessando informações de um banco de dados relacional
- O conceito MVC e a arquitetura em camadas
- Projeto ASP .NET Core MVC no VS 2017
- Usando SQL Server Management Studio
- Criando Banco de dados Escola e tabela Alunos
- Criando modelo de domínio; Usando stored procedures
- Criando camada de negócio : IAlunoBLL e AlunoBLL
- Criando o Controller e a View usando o Scaffolding

4a. Incluindo Dados com ADO .NET -  19:48 minutos
- Incluindo dados na tabela Alunos com Ado .NET
- Definindo o método IncluirAluno na camada de Negócio
- Criar a stored procedure para incluir dados no BD
- Criando a Action Create(Get/Post) e a View Create via Scaffold

5a. Validação de dados -  15:46 minutos
- Validando dados no cliente ou no Servidor ?
- Usando o ModelState no Controller
- Definindo a lógica de validação
- AddModelError() e ModelState.IsValid

6a. Data Annotations -  13:04 minutos
- Validação de dados com Data Annotations
- Usando atributos Data Annotations no modelo de domínio
- Principais atributos de validação
- Exemplo de validação no VS 2017

7a. Editando Dados com ADO .NET -  26:12 minutos
- Editando dados da tabela Alunos com ADO .NET
- Criando o método AtualizarAluno() na camada de negócio
- Criar stored procedure para alterar dados no BD
- Criar a Action Edit (Get/Post) e a view Edit.cshtml via Scaffolding

8a. Customizando o ModelBind -  11:59 minutos
- Customizando o comportamento do Model Binding
- Usando atributos : Bind, BindRequired, FromBody, FromRoute
- Exemplo de utlização no VS 2017

9a. Deletando dados com ADO .NET -  minutos
- Deletando dados da tabela Alunos com ADO .NET
- Criando o método DeletarAluno() na camada de negócio
- Criar stored procedure para alterar dados no BD
- Criar a Action Delete(Get/Post) e a view Delete.cshtml

10a. Deletar dados usando JavaScript - 7:22  minutos
- Solicitando a confirmação de exclusão com JavaScript
- Apresentando a janela de confirmação para excluir
- Usando o HtmlHelper Html.BeginForm

11a. Exibindo detalhes com ADO .NET -  9:23 minutos
- Exibindo detalhes de um aluno com ADO .NET
- Usndo o método getAlunos() na camada de negócio
- Criar a Action Details(Get) e a view Details.cshtml

12a. Procurar e Filtrar dados com ADO .NET - 15:10 minutos
- Localizando e filtrando dados com ADO .NET
- Criando um formulário de pesquisa : @Html.BeginForm()
- Criar a Action Procurar() e a view Procurar.cshtml
- Usar o método getAlunos()  

13a. Exibindo Imagens  22:07 minutos
- Exibindo imagens nos detalhes de um Aluno
- Usando a Action Details
- Alterando a View Details para exibir uma imagem
- Alterar a estrutura da tabela Aluno: Foto e Texto
- Alterar a estrutura das stored procedures
- Alterar os métodos da camada de negócio
- Muito trabalho : melhor usar Entity Framework.

14a. AntiForgery Token -  4:59 minutos
- Apresentando o AntiForgey Token
- Prevenindo o ataque cross site 
- Usando o recurso : [ValidateAntiForgeryToken]  na Action
- Usar @Html.AntiForgeyToken na View
- Como funciona

15a. Entity Framework Core -  7:43  minutos
- Apresentando o Entity Framework Core 2.0
- Ferramenta ORM : Mapeamento dados/objeto
- EF Core multiplataforma e open source
- Como o Entity Framework funciona :  DbContext e DbSet
- LINQ - Language Integrated Query
- Abordagens :  Code-First e Database First

16a.  Usando o EF Core 2.0 - 18:23 minutos
- Usando o EF Core 2.0
- .NET Core SDK 2.0 instalado e VS 2017 Community 15.3.3
-  Referenciando o EF Core no projeto via Nuget
- Abordagem Code-First : partindo do modelo de domínio
- Criando a classe de Contexto
- Definindo a string de conexão do banco de dados
- Registrando o Contexto como um serviço

17a. EF Core Migrations -  12:18 minutos
- Usando Migrations do EF Core 2.0
- Gerando o banco de dados e as tabelas com o Migrations
- add-Migration, remove-migration e update-database
- Aplicando o Migrations

18a. Alimentando o Banco de Dados -  9:32 minutos
- Alimentando as tabelas com dados de teste usando o Migrations
- Apresentando o arquivo ModelSnapshot que representa o esquema atual
- Criando o Migration para alimentar o BD
- Usando os métodos Up() e Down()
- Usando o comando SQL INSERT INTO para incluir dados
- Usando o comando SQL DELETE  FROM para reverter 

19a. Criando Controllers e View com Scaffolding -   12:56 minutos
- Criando o Controller, os métodos Actions e as Views
- Habilitando o Scaffolding
- Selecionando as opções de Scaffolding para MVC
- Criando o Controller com Actions e Views usando o EF Core 
- Definindo a classe do modelo e do contexto
- Definindo as Views, o Layout e o nome do Controller

20a. Consultar dados com LINQ - EF Core  - 13:25 minutos
- Criando um novo Controlador - TesteController
- Registrando a instância do contexto como um serviço
- Injetar o serviço no construtor do Controller 
- Definir um método Action Index
- Definir uma consulta LINQ para retorna dados do contexto
- Cria a view Index.cshtml para exibir a lista de alunos
- Usando o template List

21a. Adicionando dados com EF Core - 13:45 minutos
- Criando as Action Create(Get/Post)
- Definir o atributo Bind e usar ValidateAntiForgeryToken
- Criar a View Create.cshtml usando o Scaffolding
- Incluindo dados com EF Core: Add(), AddRange()
- Incluir objeto no contexto e usar SaveChanges()

22a. Editar dados com EF Core -  21:03 minutos
- Criando as Action Edit(Get/Post)
- Definir o atributo Bind e usar ValidateAntiForgeryToken
- Criar a View Edit.cshtml usando o Scaffolding
- Alterar dados com EF Core: Update(objeto)
- Alterar o objeto no contexto e usar SaveChanges()

23a. Deletar dados com EF Core -  15:55 minutos
- Criando as Action Delete(Get/Post)
- Definir o atributo Bind e usar ValidateAntiForgeryToken
- Criar a View Delete.cshtml usando o Scaffolding
- Excluir  dados com EF Core: Remove(objeto)
- Excluir o objeto do contexto e usar SaveChanges()

24a. Exibindo Detalhes com EF Core - 8:05 minutos
- Criando a Action Details(Get)
- Criar a View Details.cshtml usando o Scaffolding
- Resumo do CRUD com EF Core 2.0

25a. Alterando o modelo de entidades - 17:58 minutos
- Alterando o modelo de domínio : incluindo propriedades
- Incluindo as propriedades Foto e Texto
- Definir as restrições usando Data Annotations
- Aplicar o Migrations
- Incluir uma nova entidade : TipoSocio
- Definir as propriedades e aplicar o DataAnnotations
- Definir o relacionamento entre as tabelas

26a. Exibindo dados Relacionados -  17:39 minutos
- Exibindo dados de entidades relacionadas
- Usando as propriedades de navegação para carregar dados
- Usando o Eager Loading
- Carregando dados dos Alunos e TipoSocio

27a. Fluent API -  11:04 minutos
- Apresentando Fluent API
- Validando entidades com Fluent API
- Definindo o mapeamento e configuração em OnModelCreating
- Vantagens da Fluent API
- Principais recursos da Fluent API

28a. Fluent API - Exemplo -  25:10 minutos
- Fluent API - métodos para configurar Tipos e propriedades
- Configurando relacionamentos com Fluent API
- Relacionamento um-para-um e um-para-muitos
- Exemplo prático usando o VS 2017 Community

29a. EF Core Database First -  20:00  minutos
- Apresentando a abordagem DataBase First
- Partindo do banco de dados e as tabelas
- Gerando as entidades e o contexto
- Referenciando o Ef Core 2.0 no projeto no VS 2017
- Fazendo a engenharia reversa do banco de dados e tabelas

30a. EF Core Code First usando NET CLI -   28:22 minutos
- Criando aplicação ASP .NET Core com EF Core no Linux/Mac   
- .NET Core SDK e VS Code com NET CLI 
- Referenciar o EF Core 2.0 no projeto : dotnet add package
- Criar o projeto mvc usando a ferramenta NET CLI : dotnet new
- Abrindo o projeto no VS Code
- Definir o modelo de domínio e a classe de contexto
- Definjir a string de conexão e aplicar o Migration

31a.  EF Core Code First usando NET CLI  II -   16:45 minutos
- Populando as tabelas com MIgrations
- Registrar e configurar o contexto no Startup
- Criar o controller e injetar o serviço do contexto no construtor
- Criar o método Action Index
- Criar a View Index

32a. EF Core Database First usando NET CLI-  21:43 minutos
- Aplicação ASP .NET Core com DataBase First usando NET CLI
- Partindo do banco de dados e as tabelas
- Gerando as entidades e o contexto
- Referenciando o Ef Core 2.0 no projeto no NET CLI
- Fazendo a engenharia reversa do banco de dados e tabelas
- Abrindo o projeto com o VS Code

33a. Usando a Paginação de dados -  14:38 minutos
- Realizando a paginação de dados na ASP .NET Core MVC c/EF Core
- Usando o pacote : ReflectionIT.Mvc.Paging
- Paginação : incluir serviço services.AddPaging()
- Definir a paginação no método do Controller
- Alterar a view incluindo o namespace as taghelpers

34a. Atividade -  21:46 minutos
- Criar solução ASP .Net Core MVC e referenciar o EF Core no projeto;
- Definir um modelo de entidades com propriedades e associações-
- Definir a sua classe de contexto com respectivos DbSets;
- Definir a validação usando Data Annotations
- Realizar o mapeamento entre as entidades usando a Fluent API;
- Aplicar o Migrations no EF Core
- Registrar o seu contexto no arquivo Startup.cs;
- Criar o controlador com Actions e respectivas views usando o Scaffolding;
- Exibir dados relacionados;

Módulo 4 - Segurança

1a. ASP .NET Core Identity - Introdução - 5:37 minutos
- Apresentando a ASP .NET Core Identity
- Implementação da Segurança
- Autenticação e Autorização
- IdentityUser , UserManager, RoleManager 

2a. Usando ASP .NET Core Identity -  27:18 minutos
- Usando Identity em uma aplicação ASP .NET Core MVC   
- Criando um projeto mvc com Individual User Accounts
- A estrutura do projeto com Identity
- As referências ao EF Core e as classes do domínio e contexto
- Configuração do Identity e o middleware app.UseAuthentication()
- Usando o Migrations do Identiy

3a. Autenticação e Autorização com Identity -  26:40 minutos
- Criar projeto ASP .NET Core MVC com Individual User Accounts
- Gerenciando informações de Contatos
- Criando o modelo de domínio
- Definindo o DbSet na classe de contexto ApplicationDbContext
- Aplicando o Migrations para gerar o banco de dados e tabelas
- Aplicando a Autenticação : Login e Register
- Aplicando a Autorização usando o atributo Authorize

4a. Fazendo o Login com o Facebook -  17:02 minutos
- Fazendo o login usando as credenciais do Facebook
- Criar aplicação no Facebook : AppId e AppSecret
- Habilitar o SSL
- Registrar a AppId e a AppSecret no appsettings
- Configurar o serviço de autenticação usando provedor de terceiros
- Adicionar o serviço do Facebook em ConfigureServices

5a. Usando a ferramenta Secret Manager -  11:12  minutos
- Armazenando informações confidenciais com o Secret Manager
- Armazenando as informações do AppId e AppSecret
- Referenciar o pacote :  Microsoft.Extensions.SecretManager.Tools
- Incluir o node <UserSecretsId>
- Criar o arquivo secrets.json
- Acessar as informações : dotnet user-secrets -h

6a. Alterar a configuração padrão do Identity -  13 minutos
- Alterando a configuração padrão do Identity
- Politicas de senha, bloqueio do usuário, configurações de login
- Validações de usuário, configurações de cookies
- Usar o método ConfigureServices() : services.AddIdentity(options)
  
7a. Gerenciando Roles - 14:10 minutos
- Tratar Autorização com Roles : perfil de um usuário
- Verificação de autorização usando Role e Authorize
- Exemplo prático com VS 2017 

8a. Gerenciando Roles via código - 20:42 minutos
- Gerenciamento de Roles e verificação de perfis de usuário
- Definindo Roles ao usuário no código   
- Verificando os perfis com Authorize

9a Usando Identity com NET CLI -  11:52
- Usando a Autenticação e Autorização com Identity no NET CLI
- Criando um projeto mvc com autenticação : dotnet mvc -auth Individual
- Aplicando o Migrations : dotnet ef migrations add <nome>

10a. Claims - 18:07 minutos
- Apresentando Claims : definição e conceitos
- Autorização baseda em Claimns
- ClaimsPrincipal : lista de claims do usuário atual
- User.Clamins, AddClaim; Adicionando verificações de claims
- AddPolicy(), Authorize(Policy="")

11a. Claims : Exemplo  - 25:54 minutos
- Exemplo de autorização baseada em Claims
- Aplicação ASP.NET Core com autenticação
- Incluir Claim no usuário registrado
- Verificar a autorização no controller: Authorize(Policy="")

12a. Segurança em Web API - duração 20:33  minutos
- Implementando a segurança em uma Web API
- Identity, provedores externos, autorização baseada em Token
- JWT - JSON Web Tokens
- Usando Identity

13a. Segurança em Web API  II - duração 26:36  minutos
- Implementando a segurança em uma Web API
- Usando Identity
- Definindo as ViewModels
- Criando o Controller e os métodos Action
- Definindo as views para registro e login
- Verificando a autenticação :  Authorize 

14a. Apresentando CORS -  12:30 minutos
- Apresentando o CORS : conceitos
- Cross Origin Resource Sharing
- Permitindo requisições Ajax de origem cruzada
- Como funciona ; Configurando CORS
- Usando o middleware CORS

15a. Autenticação via Cookies -  5:00 minutos
- Apresentando a autenticação via Cookies  (Sem Identity)
- Configuração da autenticação via cookies
- AddAuthentication e AddCookie
- Definir o esquema de autenticação
- Invocar o middleware : UseAuthentication()
- Definir CookieAuthenticationOptions na configuração do serviço

16a. Autenticação via Cookies : Exemplo -  20:51 minutos
- Autenticação via Cookies na ASP .NET Core mvc no VS 2017
- Definir o modo de autenticação no serviço : AddAuthentication()
- Definir as opções de autenticação
- Definindo a classe LoginViewModel: usuario e senha
- Criar o controller e o método Action Login
- Validar o Login e definir as claims do usuário
- Validar a autorização : Authorize()

17a. JWT - JSON Web Tokens -  10:18 minutos
- Apresentando JSON Web Tokens
- Definição e Conceitos
- Como funciona a JWT : processo de autenticação
- Estrutura de um Token JWT

18a. JWT - JSON Web Tokens: Exemplo - 27:52 minutos
- Usando JSON Web Tokens para autenticar uma Web API
- Criar projeto ASP .NET Core Web API no VS 2017
- Criar ViewModel LoginViewModel
- Criar Controller AccountController
- Criar View Login e controlador TokenController
- Implementar a autenticação e geração do token no Startup
- Aplicar Authorize e testar no Postman

19a. Atividade - 30:37 minutos
- Criar aplicação ASP .NET Core e implementar a autenticação via Jwt
- Criar projeto vazio no NET CLI (Sem usar o VS 2017)
- Instalar o pacote System.IdentityModel.Tokens.Jwt
- Habilitar o serviço Mvc e autenticação e configurar o Jwt
- Criar o controlador TokenController e gerar o Token
- Criar página de Login e definir a geração do Token

Módulo 5 - Web API

1a. Introdução - 13:50 minutos
- Apresentação Web API - conceitos
- Diferenças entre Web API e MVC
- Na ASP .NET Core Web API e MVC herdam da classe Controller
- Web API - construir serviços HTTP (REST)
- Métodos HTTP : GET, POST , PUT, DELETE

2a. Criando uma Web API  -  15:33 minutos
- Criando uma Web API na ASP .NET Core 2.0
- .NET Core 2.0 SDK : VS 2017 ou NET CLI e VS Code
- Criando um projeto Web API no VS 2017
- Apresentando o projeto e sua estrutura 
- Definir URI para acessar o recurso no roteamento
- Acessar os recursos da Web API

3a. Web API Produtos : Padrão Repositório  -  17:13 minutos
- Criar uma Web API para gerenciar informações de produtos 
- Definindo os métodos da Web API
- Definir modelo de domínio, Criar repositório e interface
- Usando o padrão repositório

4a. Web API Produtos : Controller - 20:40 minutos
- Criando o controller: ProdutosController
- Definindo o roteamento : api/[controller]
- Definir os métodos Action do Controller

5a. Web API Produtos : Postman -  13:50 minutos
- Consumindo uma Web API usando o Postman
- Apresentando e instalando o Postman
- Acessando a Web API via Postman
- Testando o GET, PUT,  POST e DELETE

6a. Web API Contatos : EF Core -  22:01 minutos
- Criando uma Web API usando o EF Core Code First
- Criar Web API para gerenciar informações de Contatos
- Definir modelo de domínio e classe de contexto
- Registrar o contexto , definir a string de conexão
- Criar o banco de dados usando Migrations
- Criar o controlador ContatosController com métodos Action
- Usar o Scaffolding e a opção API Controller with Actions using EF core

7a. Web API Contatos : EF Core : Postman  9:28 minutos
- Consumindo a Web API usando o Postman
- Acessando a Web API via Postman
- Testando o GET, PUT,  POST e DELETE

8a. Web API : Consumir com MVC -  18:16 minutos
- Consumindo a Web API ContatosController em uma app MVC
- Criando o controlador MVC TesteController para consumir a Web API
- Definir o método Action Index para acessar a Web API

9a. Web API : Consumir com MVC II -  31:03 minutos
- Definindo os demais métodos do controller MVC TesteController
- Definir os métodos Action Create, Edit, Delete
- Definir as Views usando o Scaffolding 

10a. Web API : Consumir com JavaScript (jQuery) -  18:42 minutos
- Consumindo a Web API definida em ContatosController com JavaScript
- Criar controlador HomeController
- Criar view Index e referenciar o JQuery
- Definir o código JQuery
- Ajustar o projeto :  _ViewStart, _ViewImports e _Layout
- Definir o roteamento e consumir a Web API

11a. Criar WEB API Tarefas no NET CLI e VS Code - 14:00 minutos
- Definir serviços da Web API Tarefas
- Requisitos: ,NET Core SDK , NET CLI e VS Code
- Criar projeto web api usando NET CLI e VS Code
- Referenciar o Entity Framework Core no projeto

12a. Criar WEB API Tarefas no NET CLI e VS Code II -  25:14 minutos
- Definir o modelo de domínio Tarefa e a classe de Contexto
- Definir a string de conexão no arquivo appsettings.json
- Registrar o contexto como um serviço
- Aplicar o migrations : dotnet ef migrations add
- Popular a tabela usando o MIgrations
- Criar o controller TarefaController
- Definir o método Action para retornar todas as tarefas

13a. Criar WEB API Tarefas no NET CLI e VS Code III - 17:48 minutos
- Definir os demais métodos Action para acessar a Web API
- Consumindo a Web API
- Usando o dotnet watch

14a. Web API - Documentação com Swagger -  12:48  minutos
- Gerando a documentação para Web API com Swagger
- Apresentando o Swagger : Swashbuckle.AspNetCore
- Adicionar e configurar o Swagger
- Usar o Swagger : http://localhost:XXX/swagger/v1/swagger.json
- Acessar a interface com : http://localhost:xxx/swagger

15a. Atividade  - 28:32 minutos e  24:49 minutos
- Consumir uma Web API em uma aplicação Windows Forms
- Criar a Web API  ASP . NET CoreProdutosAPI
- Consumir os serviços da Web API
- Criar projeto Windows Forms WFProdutosAPI

Módulo 6 - Front End : Angular

1a. Introdução ao Angular - 20:09 minutos
- Integrando a ASP .NET Core com o Angular
- Criando uma aplicação Single Page Application - SPA
- Conceitos de SPA
- Lado do Cliente : Angular , lado do servidor : ASP .NET Core
- Opções de desenvolvimento e requisitos
- Nodejs, NPM, TypeScript, Angular e Angular CLI

2a. Aplicação ASP .NET Core com Angular  -  22:05 minutos
- Criar aplicação Integrada ao Angular usando o EF Core
- Usando o template Angular no VS 2017
- Incluir as referências ao Entity Framework Core 
- Criando o Backend : A Web API
- Criar o controlador API com Actions e Views usando o Scaffolding
 
3a. Aplicação ASP .NET Core com Angular  II -  23:15 minutos
- Criar o front-end usando o Angular
- Apresentando os componentes do Angular
- Criar a pasta do componente: Cliente
- Criar os arquivos do componente: cliente.component.ts e html
- Ajustar o menu da aplicação e definir as rotas para o clientecomponent

4a. Aplicação ASP .NET Core com Angular  III - 29:50 minutos
- Definir o serviço Angular para acessar a Web API
- Definir o serviço para exibir os clientes
- Criando a classe ClienteService em cliente.service.ts
- Definir a lógica do componente para acessar os serviços
- Definir a view do componente para exibir as informações dos clientes 

5a. Aplicação ASP .NET Core com Angular  IV -  28:39 minutos
- Definir o serviço para incluir um cliente
- Definir a lógica método no componente para incluir cliente
- Definir da view do componente para exibir o formulário
- Usando os recursos do Angular ReactiveForms, FormGroup

6a. Aplicação ASP .NET Core com Angular  V -  22:44 minutos
- Definir o serviço para incluir um editar e deletar um cliente
- Definir a lógica do componente para deletar e editar um cliente
- Definir da view do componente para edição e exclusão

7a.  Single Page Application ou Aplicação Web - 5:59 minutos
- Comparando SPA com app web tradicional
- Principais recursos das Single Page Application
- As vantagens e desvantagens de cada abordagem
- Quando usar uma abordagem SPA

8a. Atividade -   23:43 minutos
- Integrando uma aplicação ASP .NET Core com Angular
- Usando o micro ORM Dapper
- Criar o Banco de dados e as tabelas
- Criar as stored Procedures
- Definir o serviço da Web API
- Criar a interface e sua implementação
- Criar o backend e a seguir o front-end com Angular

Módulo 7 - Projeto

1a. Fatores que impactam o Projeto - 8:50 minutos
- Os principais fatores que impactam o seu projeto ASP .NET Core
- Os requisitos do projeto : as incertezas
- Decompondo os requisitos e definindo a complexidade
- Definindo o tamanho da sua aplicação
- Definindo uma arquitetura de referência
- Escopo, Audiência, Escalabilidade, Confiabilidade e Segurança

2a. Princípios básicos para criar um projeto  -  8:37 minutos
- Princípios básicos para criar um projeto robusto
- Separação das responsabilidades
- Encapsulamento 
- Injeção de dependência
- Princípios SOLID
 
3a. Estilos de arquiteturas de projeto -  16:27 minutos
- Apresentando estilos de arquiteturas de projeto 
- O desenvolvimento em camadas: benefícios
- Layers ou Tiers : definição
- Arquitetura em 3 camadas : Apresentação, Negócio e Dados
- Benefícios e Problemas
- Arquitetura em Cebola - Onion Archicteture
- As vantagens e desvantagens
- Entendendo MVC e 3 Camadas.

4a. Criando uma aplicação em camadas - 21:25 minutos
- Criando uma solução ASP .NET Core MVC no VS 2017
- Criando dois projetos : o projeto Web MVC - Artistas.Web
- O projeto Class Library que será  a camada de acesso dados - Artistas.DAL
- Acessando dados com EF Core Code First no SQL Server
- Referenciando o EF Core no projeto Artistas.DAL
- Definindo o modelo de domínio e a classe de Contexto

5a.  Criando uma aplicação em camadas II -  22:44 minutos
- Mapeando as entidades usando a Fluent API
- Criando uma classe Startup e um arquivo json para definir a conexão 
- Registrando o contexto como um serviço na classe Startup
- Aplicando o Migrations para gerar o banco de dados e as tabelas
- Populando as tabelas com dados usando o Migrations

6a. Aplicação ASP .NET Core com Angular  V -  8:21 minutos
- Definir a string de conexão no arquivo appsettings no projeto Artistas.Web
- Registrar o contexto como um serviço no projeto Artistas.Web
- Criar o controlador ArtistasController com Actions e Views com EF Core

7a. O padrão Repositório e Unit of Work - 14:17 minutos
- Padrão Repositório :  definição e conceitos
- Benefícios do padrão Repositório
- Padrão Unit Of Work : definição e conceitos
- Para que serve o Unit of Work
- Usando corretamente os padrões

8a. Implementando o padrão Repositório e Unit of Work -  20:18 minutos
- Implementando o padrão repositório e unit of work no projeto em camadas
- Desacoplando a camada de acesso a dados do Entity Framework
- Definindo o Repositorio e a UnitOfWork no projeto Artistas.DAL
- Criando o Repositório genérico e o repositório específico

9a. Implementando o padrão Repositório e Unit of Work  II -  21:21 minutos
- Registrando o serviço para a UnitOfWork  no projeto Web
- Criando o controlador mvc TesteControler acessando o repositório
- Definindo os métodos Action e acessando via UnitOfWork o repositório
- Criando as Views para os Métodos Action

10a. Deploy -  21:28 minutos
- Apresentando os conceitos de Deploy na ASP .NET Core
- Deploy em múltiplos ambientes usando o VS 2017 ou o NET CLI
- Publicar o aplicativo em uma pasta no servidor
- Configurar um gerenciandor de processo
- Configurar um proxy reverso

11a. Deploy no Azure App Service - 15:56 minutos
- Fazendo o deploy 
- Criar conta gratuita no Azure
- Deploy de projeto ASP .NET Core com EF Core e SQL Server e Segurança
- Fazendo o deploy usando o VS 2017 - opção Publish
- Microsoft Azure App Service - Create New

12a. Atividade - 16:52
- Usando a NET CLI e o VS Code criar uma solução e dois projetos
- Crie uma pasta chamada Artistas para conter os projetos e a solução
- Na pasta Artistas crie uma solução chamada Artistas.sln
- Na pasta Artistas crie um projeto do tipo Class Library com o nome Artistas.DAL
- Na pasta Artistas crie um projeto MVC com o nome Artistas.Web
- Inclua uma referência no projeto Artistas.Web ao Projeto Artistas.DAL
- Inclua as referência ao EF Core no projeto Artistas.DAL