Course Overview
In this course, students will learn how to develop a WPF desktop application, an MVC application and a Razor Page app, as well as how to develop and consume the API.
Course Objectives
The main objective of this course is to provide a complete picture of C# APPs. It also shows how to develop and consume a microservices Project, including both server and client side.
Duration: 5 Days
Outlines
--Day 1
Module 1: WPF Desktop APP (9:00 AM-10:30 AM)
What is WPF?
WPF vs. WinForms
XAML Window
Break (10:30 AM-10:45 AM)
The Window (10:45 AM-12:00 PM)
Controls o The Label control o The TextBox control o The PasswordBox control o The Button control o The CheckBox control o The RadioButton control o The Image control o The Grid Control o List control o Tab controls o The Menu control
Lunch (12:00 PM -1:00 PM)
WPF for Database CRUD (1:00 PM -3:30 PM) o Entry form o Edit form o Delete form o Search form
Break (3:30 PM-3:45 PM)
WPF Asynchronous programming (3:45 PM -4:30 PM)
Data Binding (4:30 PM-5:00 PM)
--Day 2
Model-View-ViewModel Design Pattern (Project to do) (9:00 AM-10:30 AM)
Break (10:30 AM-10:45 AM)
Advanced topics (10:45 AM-12:00 PM) o Data template o Use data trigger o Route Events o Dependency Injection
Lunch (12:00 PM-1:00 PM)
WPF Final Project ATM Machine System to develop (1:00 PM-3:30 PM)
Break (3:30 PM-3:45 PM)
Continue ATM Machine System development (3:45 PM-4:30 PM)
Q&A (4:30 PM-5:00 PM)
--Day 3
Module 2: ASP.NET Core MVC Web Application (9:00 AM-10:30 AM)
Introduction to ASP.NET Core MVC
Controller in ASP.NET Core MVC
Routing in ASP.NET Core MVC
Attribute Routing in ASP NET Core MVC
Passing data to view in ASP.NET Core MVC
Break (10:30 AM-10:45 AM)
Model and View (10:45AM-12:00 PM) o Model in ASP.NET Core MVC with Example o ViewBag in ASP.NET Core MVC o Strongly Typed View in ASP.NET Core MVC o ViewModel in ASP.NET Core MVC o List view in asp.net core mvc o Layout view in asp.net core mvc o Sections in layout page in ASP.NET Core MVC o _ViewStart.cshtml in ASP.NET Core MVC o _ViewImports.cshtml in ASP.NET Core MVC o Exercise
Lunch (12:00 PM-1:00 PM)
Entity Framework (1:00 PM-3:30 PM) o Install entity framework core in visual studio o DbContext in entity framework core o Using sql server with entity framework core o Repository pattern in asp.net core o Entity framework core migrations o CRUD Project to do
Break (3:30 PM-3:45 PM)
Application Enhancement (3:45PM-5:00PM)
Install and use Bootstrap
Partial View in MVC
--Day 4
ASP.net Core Authentication and authorization (9:00 AM-10:30 AM) o Entity Framework Identity for authentication o Create a login View and a login Model o Role-based autorization o ADD/Edit role in asp.net core o Add/Edit or remove users from the role in asp.net core o List all users from asp.net core Identity database o Claims-based authorization in asp.net core
Break (10:30 AM-10:45 AM)
Module 3: ASP.NET Core Razor Page Web Application (10:45 AM-12:00
PM)
Get started with Razor Page Application o Differences between Razor View and Razor Pages o Changing the default app routing in the Razor Page app
Building a to-do app with Razor Pages (Project)
Lunch (12:00 PM-1:00 PM)
Working with Entity Framework ASP.NET Core for Razor page app (1:00 PM-3:30
PM) o Install Entity Framework Core in .NET Core Application o Create CRUD Operations using Tag helper o Partial Razor view in Razor page app
Break (3:30 PM-3:45 PM)
(3:45 PM- 5:00 PM) o Authentication o Authorization o Deploy Dot Net Core Razor page App to Cloud
Q&A o
--Day 5
Module 4: ASP.NET API and Data Access (9:00 AM-10:30 AM)
o Introduction to API API Requests o API Status codes o Exercise to do API o Calling the API using server-side
Break (10:30 AM-10:45 AM)
API Security (10:45-12:00 PM) o Basic authentication o Token-based Authentication
Lunch (12:00 PM-1:00 PM)
Microservices Project to do (Server and Client) (1:00 AM-3:30 PM) o Create Product, Customer and Order APIs o Develop Razor page client app to authenticate and consume the API
Break (3:30 PM-3:45 PM)
Recap and Q&A session (3:45PM-5:00PM)
Programme scope, delivery arrangements and suitability are confirmed during enquiry.