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);
}
}
}