
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.
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.
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.
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.
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.
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.
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.
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!