Prévia do material em texto
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. Filters conceitos - 9:49 minutos - Definição de filtros - Como os filtros funcionam - Tipos de Filtros - Implementação dos Filtros - Escopo e ordem de execução 30a. Filters Exemplo 1 - VS 2017 - 15:45 minutos - Exemplo de implementação de filtros - Implementando dois ActionFilter - SaudaFilterAttribute aplicado a Action - DuracaoActionFilter aplicado globalmente 31a. Filters Exemplo 2 - VS 2017 - 12:55 minutos - Exemplo de implementação de filtros - Implementado um ActionFilter e um ExceptionFilter - ValidarModeloAttribute aplicado ao Controller - TrataExceptionAttribute aplicado globalmente 32a. 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 33a. 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 34a. 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 - Criandoo 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 20a. Atividade - Extra : 2 Aulas - total : 30:24 minutos - Criar aplicação ASP .NET Core MVC com autenticação individual com VS 2017 - Implementar a criação de roles (perfis) - Atribuir perfil criado a um usuário ao registrar o usuário - Criar o controlador RoleRontroller - Criar os métodos Index para listar e Create para criar perfis - Criar as Views par exibir os perfis - Ajustar o método Action Register Get e Post - Ajustar a view Register.cshtml para permitir selecionar o perfil - Aplicar a autorização baseada em Roles (atributo Authorize) e testar 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étodosAction 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 Módulo 8 - Bônus 1a. Enviando Email com ASP .NET Core – parte 1 4:51 minutos Enviando Email com ASP .NET Core – parte 2 18:44 minutos - Enviando email via SMTP usando a conta do GMAIL - Criar projeto ASP .NET Core MVC no VS 2017 Community - Definir as configurações para o Servidor SMTP no arquivo appsettings.json - Criando a classe de domínio EmailSettings - Registrando a classe no método ConfigureServices da classe Startup - Criar um serviço para enviar email : criar a interface IEmailSender e a classe concreta - Registrar o serviço para envio de email no método ConfigureServices da classe Startup - Criar um Controller para enviar e-mails e injetar o serviço no controlador - Configurar a conta do Gmail 2a. Criando Gráficos com GoogleChart 15:15 minutos - Enviando email via SMTP usando a conta do GMAIL - Criar projeto ASP .NET Core MVC no VS 2017 Community - Definir as configurações para o Servidor SMTP no arquivo appsettings.json - Criando a classe de domínio EmailSettings - Registrando a classe no método ConfigureServices da classe Startup - Criar um serviço para enviar email : criar a interface IEmailSender e a classe EmailSender - Registrar o serviço para envio de email no método ConfigureServices da classe Startup - Criar um Controller para enviar e-mails e injetar o serviço no controlador - Configurar a conta do Gmail 3a. Gerando PDF com Rotativa 15:50 minutos - Gerando arquivos PDF usando a biblioteca Rotativa.AspNetCore - Criar projeto via linha de comando usando a NET CLI e usando o VS Code - Criar a pasta Rotativa dentro da pasta wwwroot do projeto - Copiando os arquivos wkhtmltopdf.exe e wkhtmltoimage.exe na pasta - Configurando a biblioteca no projeto no método Configure() da classe Startup - Criar o controlador e usar o método ViewAsPdf() para gerar PDF a partir das Views - Criando alguns exemplo de geração de PDF 4a. Salvando e Exibindo imagens de um banco de dados SQL Server 1 – 9:18 minutos Salvando e Exibindo imagens de um banco de dados SQL Server 2 – 22:32 minutos - Criar projeto ASP .NET Core MVC no VS 2017 Community - Acessar banco de dados Estudo.mdf e tabela Filmes com campo Imagem do tipo varbinay(MAX) - Criar a classe Filme com a propriedade Imagem to tipo array de bytes (byte[]) - Criar a classe de contexto FilmesDbContext e definir o DbSet<Filme> - Definir a string de conexão com o banco de dados no arquivo appsettings.json - Registrar o contexto no método ConfigureServices() da classe Startup - Definir o provedor para o SQL Server e acessar a string de conexão no arquivo appsettings.json - Criar o Controlador FilmesController com os métodos Index, Create e ExibirImagem - Definir as views Index e Crerate - Para enviar imagem no formulário usar o enctype igual a ‘multipart/form-data’ - Usar a interface IFormFile no método Create Post para tratar a imagem enviada