
Explore the project overview for a payroll processing app built with ASP.NET MVC Core 5, covering companies, employees, deductions, and payments. Emphasize test-driven development, design patterns, and iterative refactoring.
Set up a multi-project payroll system in Visual Studio 2019 by creating a library, an MVC web app, and a test project, configuring namespaces, references, and .NET 5.
Implementing company: modify the company class to use a collection of payables and initialize resources with a payables list, exposing a read-only collection to support add, pay, and terminate.
Explore the ASP.NET MVC core project tour, examining wwwroot, controllers, models, views, layout, and startup configuration, then understand default routing, Razor views, and static files.
Create a company controller in asp.net core mvc to route requests to detail and save detail actions using a simple form for id, name, and street address.
Define an IPPEI System Service interface and a facade to decouple business logic from the controller, mock it for unit tests, and implement detail and save detail flows that redirect.
Implement the company controller by introducing pay system service via dependency injection and using a view bag to pass company details. Configure services as scoped and verify unit tests pass.
Switch the controller to a strongly typed view model, drop the view bag, and enable server and client side validation with an anti-forgery token for secure, bound form submissions.
Learn to build dynamic partial views that update company details when the selection changes, using a change event, jQuery load, and a controller action returning a seeded partial.
Create a company list model and bind it to a list box by transforming tuples into select list items, wiring through the controller and views, and implementing get all companies.
Use a library manager to update client side libraries like Bootstrap and jQuery, configure libman.json, and build to download the libraries into the wwwroot folder.
Refactor the project by moving employee actions to a new employee controller, relocate the employee views, and implement an ID name pair class to replace the old tuple.
Design and implement the employee controller tests by creating a public test class, injecting a mocked service, and verifying get all, get employee detail, and save employee detail interactions.
Modify the ASP.NET core employee controller by wiring the service field, updating the interface, and implementing a detailed partial controller action to fetch and display employee details.
Develop a mock pay system service with hired and not hired employee lists, supporting get all employees, get all not employed, get employee, and get employees by company.
Demonstrate how to unit test ASP.NET MVC validation by manipulating model state and asserting no service save on invalid data, while verifying view flow and data replenishment.
Learn how Entity Framework Core maps entities to tables, configures a DbContext with lazy loading proxies, and uses the payroll db context with Company and Employee entities.
Create a code-first database with migrations to generate the initial schema and seed data. Set up a db context test base to verify baseline and test the pay system service.
Run employee service tests in an ASP.NET MVC Core project by wiring the IP system service with a database context and verifying get all, get by id, and save.
Learn how to test the company service in the Ipaye Systems Service API by creating tests for get all companies and get detail, not testing the database.
Implement the pay system service by wiring a payroll db context through dependency injection, building get, save, and hire and terminate operations, and updating web configuration for production database.
Refactors and fixes the manage resources feature by validating company selection, converting ids to optional, updating the model and views to show the company name, and aligning tests and redirects.
Install and scaffold identity framework to handle authentication and authorization, apply anti forgery and http verbs, review against the OWASP top 10, and manage entity framework version conflicts with scaffolding.
Integrate identity with entity framework, run an initial migration to create the authentication database, and configure razor pages, authentication, and authorization in startup for secure login and registration.
Learn to secure web actions by using appropriate http verbs—get, post, put, delete—alongside REST principles, idempotence, and replay attack prevention, plus enforcing authentication with the authorized attribute and post forms.
Understand cross-site forgery and how anti forgery tokens defend ASP.NET MVC Core apps by embedding a hidden __RequestVerificationToken in forms and validating it on post requests.
Evaluate the OWASP top 10 for the project, highlighting injection flaws, authentication, XXE, XSS, broken access control, misconfiguration, logging and monitoring; strengthen with identity, encryption, HTTPS, and automatic updates.
Welcome to ASPNet Core 5 MVC! Jump right into coding in this project-oriented course.
Why choose this course? Microsoft uses Chuck's courses to train their developers internally. Chuck's courses have been delivered to thousands of developers in-person, online and via Udemy, including major corporations, government agencies and military around the world.
In this immersive code-intensive course, you will design and develop an application using Test Driven Development (TDD), ASP.NET MVC in .Net Core 5 (now .Net 5). This course follows a typical project development cycle with fuzzy requirements, changing requirements, and design decisions.
Chuck McCullough will guide you through the design and implementation of an n-tier application using an iterative approach. While concepts and theory are addressed, this course is heavily oriented towards a quick start to application development. The course covers a wide swath of the ASPNet API. Download working projects to compare with your own implementation.
Successful students should be proficient in C# and VIsual Studio 2019. You will need Visual Studio 2019 (Community, Professional, or Enterprise) with the ASPNet workload installed.
Specifically, you will learn all about
Application design
Test driven design
MVC project components
Controllers
Controller Actions
Razor
Views
Partial views
Dynamic views
Strong typed Models
Dynamic Models
Dependency injection
Validation
Client-side validation
C# 9.0 features
Web Security
Anti-Forgery
Chuck has implemented dozens of applications in .Net and brings his years of experience as an architect, designer, and programmer to this course. This course has been presented to thousands of developers as an instructor-led, in-person course, including Microsoft employees! We are constantly updating our courses and this course will only be free for a short time, so enroll now!