using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using iFlytekDemo.Models;namespace iFlytekDemo.Controllers{ public class CitiesController : Controller { private readonly ICityRepository cityRepository; // If you are using Dependency Injection, you can delete the following constructor public CitiesController() : this(new CityRepository()) { } public CitiesController(ICityRepository cityRepository) { this.cityRepository = cityRepository; } // // GET: /Cities/ public ViewResult Index() { return View(cityRepository.AllIncluding(city => city.Employees)); } // // GET: /Cities/Details/5 public ViewResult Details(int id) { return View(cityRepository.Find(id)); } // // GET: /Cities/Create public ActionResult Create() { return View(); } // // POST: /Cities/Create [HttpPost] public ActionResult Create(City city) { if (ModelState.IsValid) { cityRepository.InsertOrUpdate(city); cityRepository.Save(); return RedirectToAction("Index"); } else { return View(); } } // // GET: /Cities/Edit/5 public ActionResult Edit(int id) { return View(cityRepository.Find(id)); } // // POST: /Cities/Edit/5 [HttpPost] public ActionResult Edit(City city) { if (ModelState.IsValid) { cityRepository.InsertOrUpdate(city); cityRepository.Save(); return RedirectToAction("Index"); } else { return View(); } } // // GET: /Cities/Delete/5 public ActionResult Delete(int id) { return View(cityRepository.Find(id)); } // // POST: /Cities/Delete/5 [HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(int id) { cityRepository.Delete(id); cityRepository.Save(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { cityRepository.Dispose(); } base.Dispose(disposing); } }}
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using iFlytekDemo.Models;namespace iFlytekDemo.Controllers{ public class EmployeesController : Controller { private readonly ICityRepository cityRepository; private readonly IEmployeeRepository employeeRepository; // If you are using Dependency Injection, you can delete the following constructor public EmployeesController() : this(new CityRepository(), new EmployeeRepository()) { } public EmployeesController(ICityRepository cityRepository, IEmployeeRepository employeeRepository) { this.cityRepository = cityRepository; this.employeeRepository = employeeRepository; } // // GET: /Employees/ public ViewResult Index() { return View(employeeRepository.AllIncluding(employee => employee.City)); } // // GET: /Employees/Details/5 public ViewResult Details(int id) { return View(employeeRepository.Find(id)); } // // GET: /Employees/Create public ActionResult Create() { ViewBag.PossibleCities = cityRepository.All; return View(); } // // POST: /Employees/Create [HttpPost] public ActionResult Create(Employee employee) { if (ModelState.IsValid) { employeeRepository.InsertOrUpdate(employee); employeeRepository.Save(); return RedirectToAction("Index"); } else { ViewBag.PossibleCities = cityRepository.All; return View(); } } // // GET: /Employees/Edit/5 public ActionResult Edit(int id) { ViewBag.PossibleCities = cityRepository.All; return View(employeeRepository.Find(id)); } // // POST: /Employees/Edit/5 [HttpPost] public ActionResult Edit(Employee employee) { if (ModelState.IsValid) { employeeRepository.InsertOrUpdate(employee); employeeRepository.Save(); return RedirectToAction("Index"); } else { ViewBag.PossibleCities = cityRepository.All; return View(); } } // // GET: /Employees/Delete/5 public ActionResult Delete(int id) { return View(employeeRepository.Find(id)); } // // POST: /Employees/Delete/5 [HttpPost, ActionName("Delete")] public ActionResult DeleteConfirmed(int id) { employeeRepository.Delete(id); employeeRepository.Save(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { cityRepository.Dispose(); employeeRepository.Dispose(); } base.Dispose(disposing); } }}