I'm looking for a billing portal to be built in C# ASP.NET MVC 5; design is not overly important and it is suitable for it to be built using the default MVC templates. The design does not require any AJAX elements, and full page refreshes are acceptable; this portal is primarily for internal usage.
Data should be persisted to SQL Server; data access should be via Dapper or Entity Framework only.
- C# 4 (minimum)
- ASP.NET MVC 5
- SQL Server
- Customer Listing (with ability to add, edit and delete a customer)
- Invoice Listing (with ability to add, edit and delete)
- Payment screen; this should provide standard credit card fields - processing will be added later.
- Invoice Display (using a "token" this should essentially be a view only link that can be emailed to people for viewing an invoice)
Customer to comprise of:
- Email Address
- Additional Email Addresses
- Telephone Number
Invoice to comprise of:
- Invoice Number
- Reference Number
- Line items (one or more lines comprising a description, and an amount)
- Payment Status (unpaid, paid)
Note that an invoice should be associated with a customer, and a list of invoices that a customer has should be visible on the customer detail page.
Upon inserting an invoice, the system should attempt to identify the next in sequence, but allow this to be over-ridden.
Basic access control is required - with two roles:
- Administrator (full access)
- Customer (access only to their own invoices - account is to be identified by their email address) - allow them to view a list and pay any outstanding invoices
Please use the Microsoft providers for Identity and Access Control (http://blogs.msdn.com/b/webdev/archive/2013/07/03/understanding-owin-forms-authentication-in-mvc-5.aspx)
Note no data should be deleted, but instead should be hidden or archived.