
Explore an ASP.NET Core MVC project that consumes a web API, displaying books with multiple offers and categories and enabling add, update, delete, and details navigation.
Create an IAuthor interface in the services folder, defining methods to get offers, get offers by id, get books by author (IEnumerable<BookDetail>), and get offers of a book (IEnumerable<OfferDetail>).
Create a partial view named _ViewImports to import tag helpers for all documents, add the exact line registering the tag helpers path, and start using them in views.
Create a default layout in the shared folder with a _Layout partial to render body content. Import Bootstrap CSS and scripts and configure _ViewStart to apply the layout.
Create a get country by id action that retrieves a country by id via the repository, validates the result, and returns a view displaying the country data.
Test get country by id by navigating to the countries list and opening a detail page. Handle nulls by returning a country object and displaying messages for the API call.
Create the get category by id view in ASP.NET Core MVC using a category model with id and name, display details, and pass category id in update and delete links.
Learn how to display books for a category by using the category books view model in the get category by id view, including book links and a no books message.
Implement the GetReviewerById method by adapting the existing get country by id pattern to return a review detail, updating the repository and api route to /api/review.
implement a get review by id method by copying and modifying the repository pattern to return a reviewed video object, update the base address, and standardize variable names.
Create an index view for reviewers that lists first and last names with details and delete links, and register the reviewer repository service in startup.
Create a GetReviewerById action to fetch a reviewer and their reviews, validate existence, handle errors with messages, and prepare a reviews dictionary for the view.
Create a GetReviewerById view to display the reviewer's first and last name and reviews, with each review linked to its book, using the reviews books view model and a dictionary.
Create a GetReviewerById view showing reviewer details and, at the bottom, the reviews and books they reviewed, using the reviewer reviews books view model, layout, lowercase ids, and update/delete links.
Finish the GetReviewerById view by looping through a dictionary of reviews, displaying each book title and the review headline, text, and links to details pages.
Debug a serialization error in the reviewer reviews workflow in an asp.net core mvc app, using postman to validate endpoints and ensure the view model includes the book title.
Create a reviews controller in ASP.NET Core MVC, inject IReviewRepository, and implement index and id actions to fetch all reviews and display a single review, with error messaging when needed.
Create a single, focused view model for a review detail that includes the review, its reviewer, and the book, avoiding a dictionary and exposing three properties: review, reviewer, and book.
Welcome to Consuming CRUD API in Asp .Net Core MVC.
As the title of the course suggests, we will be building an ASP .Net Core MVC app that consumes and interacts with third-party API.
This course is all about CRUD operations. Step by step, we will set up a complete MVC app that handles API for each of the operations in a multi-table database. For the next several hours, we will dedicate our time to interfaces, dependency injection, 1 to many and many to many database relationships, .Net Core Services, Models, Data Transfer Objects, Controllers, Actions, Views, and of course, C# language. But don’t let any of that scare you. Quite the opposite.
Get excited to learn a ton of new material and dive into the new world of .net core. The course makes the learning easy with the mix of slow introduction of new material, repetition, and lot of practice! Every line of code is coded on camera, there are no mysteriously appearing blocks of code. Every step is explained every time, not just the first time you are introduced to it. And you will have a chance to practice what you learned in homework assignments.
Let’s go over few details. First, let’s discus what this course IS
Introduction to using CRUD API in Asp .Net Core MVC.
We go over creationg of complete API driven MVC app
I introduce new concepts as they are needed in regards to progression of the project
This is a “follow along” and “practice what you learned” course
No code is skipped over.
What this course is NOT:
Complete or Deep Dive course
Learn C# or .net core course
Theory with explanation and code snippets
Ready to Deploy Real World project
1. API are a huge subject, and so is .Net Core. In this course we will build a website that consumes a CRUD API. Nothing more, nothing less. Do not expect a dive into security, database optimization, asynchronous processing or anything else. Just CRUD. Pure and simple. We will work only with C# language inside .net core. So do not expect any javascript or fancy javascript framework or library. There is none in this course. But don’t expect to use this course as a “Learn C# course”. It is not that. I’m sure you will pick up some new syntax and C# tricks, but you do need some C# skills prior to taking this course. The project we use is a great starting point as it introduces several of the essential techniques and concepts, including often neglected CRUD operations on database tables with many-to-many relationships, this certainly isn’t a deploy-ready project.
2. Remember, this is a course, and a practical tutorial. There are lot of courses that will show you the way into one topic and then quickly move on to another topic. This is not one of those courses! My goal is to lead you step by step, all the way, through the new territory inside .net core and introduce you to new concepts and topics and help you learn them. And equally important is to then help you understand and retain what you learned through practice and repetition. If you prefer to be shown something once and then jump to another topic, then this course is NOT for you. If, on the other hand, you learn by combining explanation, coding along, and practicing the concepts while still having the option to see the instructor coding the whole solution, then this course is definitely for you!
3. Did this ever happen to you? You took a course, and you just loved it! Everything was clearly explained, and you had lots of aha moments. Then the course ended…and suddenly, you felt lost. You felt like you learned so much while taking the course, yet could barely remember anything once it ended. Even when you revisited the source code supplied by the instructor, it just didn’t even seem familiar. Suddenly you felt like you didn’t learn anything. All the concepts that seemed so clear during the course felt totally foreign when you were on your own. In my experience, this is often the case when you simply take a course that starts exactly where your current skills are, but moves past the threshold of skills you are ready for. Like trying to go from crawling straight to sprinting. In this course, we go step by step, introducing new concepts slowly and only after you had a chance to practice what you learned.
4. is this course for you? What skills should you have before taking it? If you are a programmer with decent understanding of OOP principles and C#, than you have the all the skills needed to benefit from this course. There are no prerequisites for .net core, or entity framework or how to create an API. Since you are interested in this course, I assume you heard of these things and perhaps played around a little too. That’s all that is needed to take this course.
Well, let's code!