//CustomerController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using CPRG102.Mod4.ModelDemo.Models;
// For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860
namespace CPRG102.Mod4.ModelDemo.Controllers
{
public class CustomerController : Controller
{
// GET: /<controller>/
public IActionResult Index()
{
var customers = CustomerManager.Customers;
return View(customers); //customers from model/CustomerManager/list<customers>
}
//the GET method: Customer/Create
public IActionResult Create()
{
return View();
}
[HttpPost]
public IActionResult Create(Customer customer)
{
//add the customer to the system
CustomerManager.Add(customer);
return RedirectToAction("Index"); //add a new customer, display table again
}
}
}
-----------------------------------------------------------------
//~/views/customer/index.cshtml
@model List<CPRG102.Mod4.ModelDemo.Models.Customer>
@*
<ul>
@foreach (var cust in Model)
{
<li>
@cust.ToString()
</li>
}
</ul>
*@
<h4>Customer Lookup</h4>
<table class="table">
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Phone</th>
</tr>
@foreach (var cust in Model)
{
<tr>
<td>@cust.Id</td>
<td>@cust.FirstName</td>
<td>@cust.LastName</td>
<td>@cust.Phone</td>
</tr>
}
</table>
<a href="~/Customer/Create">Create New Customer</a>
--------------------------------------------------------------------
//~/views/customer/Create.cshtml
<h4>Add Customer</h4>
<!-- Post back to the same controller method-->
<form method="post">
<table class="table">
<tr>
<td>ID:</td>
<td><input type="text" name="Id" /></td>
</tr>
<tr>
<td>First Name:</td>
<td><input type="text" name="FirstName" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" name="LastName" /></td>
</tr>
<tr>
<td>Phone:</td>
<td><input type="text" name="Phone" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace CPRG102.Mod4.ModelDemo.Models
{
public class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Phone { get; set; }
public override string ToString()
{
return $"{FirstName} {LastName}";
}
}
}
--------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace CPRG102.Mod4.ModelDemo.Models
{
public class CustomerManager
{
public static List<Customer> Customers { get; private set; }
static CustomerManager()
{
Customers = new List<Customer>();
Customers.Add(new Customer { Id = 1, FirstName = "John", LastName = "Doe", Phone = "403-555-5670" });
Customers.Add(new Customer { Id = 2, FirstName = "Jane", LastName = "Smith", Phone = "403-555-1234" });
Customers.Add(new Customer { Id = 3, FirstName = "Ken", LastName = "Hunter", Phone = "403-555-9950" });
}
public static void Add(Customer customer)
{
Customers.Add(customer);
}
public static Customer Find(int id)
{
var cust = Customers.SingleOrDefault(c => c.Id == id);
return cust;
}
}
}
No comments:
Post a Comment