-
0. HTTP
-
1. Getting Started
-
2. Middleware
-
3. Routing
-
4. Controllers and IActionResults
-
5. Model Binding and Validation
- 1. Overview of Model Binding
- 2. Query String vs Route Data
- 3. FromQuery and FromRoute
- 4. Model Class
- 5. form-urlencoded and form-data
- 5.1 urlencoded vs formdata vs json
- 6. Introduction to Model Validations
- 7. Model State
- 8. All Model Validations - 01
- 9. All Model Validations - 02
- 10. Custom Validation
- 11. Custom Validation with Multiple Properties
- 12. IValidatableObject
- 13. Bind and BindNever
- 14. Custom Model Binders
- 15. Model Binder Providers
- 16. Collection Binding
- 17. FromHeader
- 18. FromBody
- 19. Input Formatters
- Img Cheatsheet
- Q1_In_depth
- Q2_in_depth
-
6. Razor Views
- 1. MVC Architecture Pattern
- 2. Views
- 3. Code Blocks and Expressions
- 4. If
- 5. Switch
- 6. Foreach
- 7. for
- 8. Literal
- 9. Local Functions
- 10. Html.Raw
- 11. ViewData - 01
- 12. ViewData - 02
- 13. ViewBag
- 14. Strongly Typed Views - 01
- 15. Strongly Typed Views - 02
- 16. Strongly Typed Views with Multiple Models
- 17. _ViewImports.cshtml
- 18. Shared Views
- N1
-
7. Layout Views
-
8. Partial Views
-
9. View Components
-
10. Dependency Injection
- 1. Services - 01
- 2. Services - 02
- 3. Dependency Inversion Principle
- 4. Inversion of Control
- 5. Dependency Injection
- 6. Method Injection - FromService
- 7. Transient, Scoped, Singleton - 01
- 8. Transient, Scoped, Singleton - 02
- 9. Service Scope
- 10. AddTransient(), AddScoped(), AddSingleton()
- 11. View Injection
- 12. Best Practices for DI
- 13. Autofac
-
11. Environments
-
12. Configuration and HttpClient
- 1. Configuration Basics
- 2. IConfiguration in Controller
- 3. Hierarchical Configuration
- 4. Options Pattern
- 5. Configuration as Service
- 6. Environment Specific Configuration
- 7. Secrets Manager
- 8. Environment Variables Configuration
- 9. Custom Json Configuration
- 10. Http Client - 01
- 11. Http Client - 02
- 12. Http Client - 03
-
13. xUnit
- 1. Project Overview
- 2. xUnit Basics
- 3. Add Country - xUnit Test - Part 1
- 4. Add Country - xUnit Test - Part 2
- 5. Add Country - xUnit Test - Part 3
- 6. Add Country - Implementation
- 7. Get All Countries - xUnit Test
- 8. Get All Countries - Implementation
- 9. Get Country by Country ID - xUnit Test
- 10. Get Country by Country ID - Implementation
- 11. Add Person - Creating Models - Part 1
- 12. Add Person - Creating Models - Part 2
- 13. Add Person - xUnit Test
- 14. Add Person - Implementation
- 15. Add Person - Validation
- 16. Get Person By Person ID - xUnit Test
- 17. Get Person By Person ID - Implementation
- 18. Get All Persons - xUnit Test
- 19. Get All Persons - Implementation
- 20. TestOutputHelper
- 21. Get Filtered Persons - xUnit Test
- 22. Get Filtered Persons - Implementation
- 23. Get Sorted Persons - xUnit Test
- 24. Get Sorted Persons - Implementation
- 25. Update Person - Creating DTO
- 26. Update Person - xUnit Test
- 27. Update Person - Implementation
- 28. Delete Person - xUnit Test
- 29. Delete Person - Implementation
-
14. CRUD Operation
-
15. Tag Helpers
-
16. EntityFrameworkCore
- 1. Introduction to EntityFrameworkCore
- 2. EFCore Approaches
- 3. DbContext and DbSet
- 4. Connection String
- 5. Seed Data
- 6. Migrations
- 7. EF CRUD Operations
- 8. How EF Query Works
- 9. EF Stored Proc
- 10. EF Stored Proc with Parameters
- 11. Changes in Table Structure
- 12. Fluent API - Part 1
- 13. Fluent API - Part 2
- 14. Table Relations with EF
- 15. Async EF Operations
- 16. Async Controller Action Methods
- 17. Async Unit Test Methods
- 18. Genarate PDF Files
- 19. Generate CSV Files - Part 1
- 20. Generate CSV Files - Part 2
- 21. Generate Excel Files
- 22. Excel to Database Upload - Part 1
- 23. Excel to Database Upload - Part 2
- 24. Excel to Database Upload - Part 3
-
17. Advanced Unit Testing
- 1. Best Practices of Unit Tests
- 2. Mock DbContext
- 3. AutoFixture - Part 1
- 4. AutoFixture - Part 2
- 5. Fluent Assertions - Part 1
- 6. Fluent Assertions - Part 2
- 7. Fluent Assertions - Cheat Sheet
- 8. Introduction to Repository
- 9. Repository Implementation - Part 1
- 10. Repository Implementation - Part 2
- 11. Invoke Repository in Service - Part 1
- 12. Invoke Repository in Service - Part 2
- 13. Pros and Cons of Repository Pattern
- 14. Mock Repository - Part 1
- 15. Mock Repository - Part 2
- 16. Mock Repository - Part 3
- 17. Controller Unit Test - Part 1
- 18. Controller Unit Test - Part 2
- 19. Integration Test
- 20. Integration Test with Response
-
18. Logging and Serilog
- 1. Introduction Logging
- 2. ILogger
- 3. Logging Configuration
- 4. Logging Providers
- 5. ILogger in Controller
- 6. HTTP Logging
- 7. HTTP Logging Options
- 8. Serilog Basics
- 9. Serilog File Sink
- 10. Serilog Database Sink
- 11. Serilog Seq
- 12. Serilog RequestId
- 13. Serilog Enrichers
- 14. Serilog IDiagnosticContext
- 15. Serilog Timings
-
19. Filters
- 1. Introduction to Filters
- 2. Action Filter
- 3. Parameter Validation in Action Filter
- 4. ViewData in Action Filter
- 5. Serilog Structured Logging
- 6. Filter Argument
- 7. Global Filters
- 8. Custom Order of Filters
- 9. IOrderedFilter
- 10. Async Filters
- 11. Short Circuiting Action Filter
- 12. Result Filter
- 13. Resource Filter
- 14. Authorization Filter
- 15. Exception Filter
- 16. Impact of Short Circuiting
- 17. IAlwaysRunResultFilter
- 18. Filter Overrides
- 19. Service Filter
- 20. Filter Attribute Classes
- 21. IFilterFactory
- 22. Filters vs Middleware
- 23. UI Enhancements - Part 1
- 24. UI Enhancements - Part 2
- 25. Configure Services Extension
-
20. Error Handling
-
21. SOLID Principle
-
22. CLean Architecture
-
23. Identity, Authorization, Security
- 1. Introduction to Identity
- 2. Creating Models
- 3. Register View
- 4. Adding Identity
- 5. User Manager
- 6. SignIn Manager
- 7. Login Logout Buttons
- 8. Active Nav Link
- 9. Password Complexity Configuration
- 10. Login View
- 11. Authorization Policy
- 12. ReturnUrl
- 13. Remote Validation
- 14. Conventional Routing
- 15. User Roles
- 16. Areas
- 17. Role Based Authentication
- 18. Custom Authorization Policies
- 19. HTTPS
- 20. XSRF - Part 1
- 21. XSRF - Part 2
-
24. Asp.Net Core Web API
- 1. Introduction to Web API
- 2. Creating Web API Project
- 3. Web API Controllers
- 4. EntityFrameworkCore with Web API
- 5. Web API Controllers with EF Core - Part 1
- 6. Web API Controllers with EF Core - Part 2
- 7. Web API Controllers with EF Core - Part 3
- 8. ProblemDetails
- 9. IActionResult vs ActionResult
- 10. ControllerBase
-
25. Swagger and Open API
-
26. JWT and Web API Authentication
-
27. Minimal API
-
Asp.Net Core
-
Cheatsheet Images
-
config
-
Design Patterns Tutorials
- 1. Introduction
- 2. The SOLID Design Principles
- 3. Builder
- 4. Factories
- 5. Prototype
- 6. Singleton
- 7. Adapter
- 8. Bridge
- 9. Composite
- 9. Decorator
- 10. Facade
- 11. Flyweight
- 12. Proxy
- 13. Chain of Responsibility
- 14. Command
- 15. Interpreter
- 16. Iterator
- 17. Mediator
- 18. Memento
- 19. Null Object
- 20. Observer
- 21. State
- 22. Strategy
- 23. Template Method
- 24. Visitor
- 25. Additional Lectures
-
dotnet
-
Excalidraw
-
Motivation
-
Special Notes
-
Todos