...

/

A Very Simple Application

A Very Simple Application

In this lesson, we will use a simple application to put the basics of using controllers into practice.

In this lesson, we will modify the customer-list example we saw in previous lessons to turn it into a complete toy-application. More specifically, we will give the user the ability to edit and add new customers.

The application is a toy because it is very simple and we will not store customers in an actual database, but we use a simple class that simulates a customers database table. Our database class implements the singleton pattern and contains the instance of the table-simulation class in an Instance property. Moreover, we add a principal key Id property to give a unique identity to each customer. The Id property will contain a string created by converting a Guid to a string. This way, we ensure that the Id is unique without using difficult-to-manage auto-increment counters.

The Guid strings are not just a trick for the easy implementation of a database simulation but are used in popular distributed databases such as MongoDB and Cosmos DB to avoid the burden of centralized counting.

We also added a Salary decimal field in order to show how non-integer numerical fields are dealt with.

The application structure

The HomeController contains an Index method that returns all customers and the [HttpGet] and [HttpHost] versions of both an Edit method and an Add method. The Edit method modifies existing users while Add adds new customers.

The user enters the Edit page by clicking a link in a new column we added to the HTML table that lists all users:

The a tag refers to our newly added Edit method. We used nameof to avoid writing the name of the method as a constant string, which would be an error-prone practice. Moreover, method names written as constant strings cannot be retrieved by engineering tools during code maintenance (tools like ...

Access this course and 1400+ top-rated courses and projects.