Add vehicle recall
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using MileageTraker.Web.Attributes;
|
||||
using MileageTraker.Web.DAL;
|
||||
using MileageTraker.Web.Utility;
|
||||
using MileageTraker.Web.ViewModels.ServiceReminder;
|
||||
using MileageTraker.Web.ViewModels.VehicleRecall;
|
||||
|
||||
namespace MileageTraker.Web.Controllers
|
||||
{
|
||||
[Authorize(Roles = "Administrator, Developer")]
|
||||
public class VehicleRecallController : ControllerBase
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var vehicleRecalls = DataService.GetOpenVehicleRecalls().ToList();
|
||||
|
||||
if (vehicleRecalls.Count == 0)
|
||||
return View("Empty");
|
||||
|
||||
var viewModel = vehicleRecalls.Select(vr => new VehicleRecallViewModel(vr));
|
||||
|
||||
return View(viewModel);
|
||||
}
|
||||
|
||||
public ViewResult Details(int id)
|
||||
{
|
||||
var vehicleRecall = DataService.GetVehicleRecall(id);
|
||||
var viewModel = new VehicleRecallViewModel(vehicleRecall);
|
||||
return View(viewModel);
|
||||
}
|
||||
|
||||
public ActionResult Create()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[RequireRequestValue("vehicleId")]
|
||||
public ActionResult Create(string vehicleId)
|
||||
{
|
||||
return View(new VehicleRecallViewModel{VehicleId = vehicleId});
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ActionLog]
|
||||
public ActionResult Create(VehicleRecallViewModel viewModel)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var vehicleRecall = viewModel.GetVehicleRecall();
|
||||
|
||||
vehicleRecall.Vehicle = DataService.GetVehicle(viewModel.VehicleId);
|
||||
DataService.AddVehicleRecall(vehicleRecall);
|
||||
|
||||
SetStatusMessage(
|
||||
string.Format("Vehicle Recall for vehicle {0} created", viewModel.VehicleId), StatusType.Success);
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
return View(viewModel);
|
||||
}
|
||||
|
||||
public ActionResult Edit(int id)
|
||||
{
|
||||
var vehicleRecall = DataService.GetVehicleRecall(id);
|
||||
var viewModel = new VehicleRecallViewModel(vehicleRecall);
|
||||
return View(viewModel);
|
||||
}
|
||||
|
||||
public ActionResult Delete(int id)
|
||||
{
|
||||
var vehicleRecall = DataService.GetVehicleRecall(id);
|
||||
var viewModel = new VehicleRecallViewModel(vehicleRecall);
|
||||
return View(viewModel);
|
||||
}
|
||||
|
||||
[HttpPost, ActionName("Delete")]
|
||||
[ActionLog]
|
||||
public ActionResult DeleteConfirmed(int id)
|
||||
{
|
||||
DataService.DeleteVehicleRecall(id);
|
||||
|
||||
SetStatusMessage("Vehicle Recall deleted");
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ActionLog]
|
||||
public ActionResult Edit(VehicleRecallViewModel viewModel)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var vehicleRecall = viewModel.GetVehicleRecall();
|
||||
vehicleRecall.Vehicle = DataService.GetVehicle(viewModel.VehicleId);
|
||||
|
||||
DataService.UpdateVehicleRecall(vehicleRecall);
|
||||
SetStatusMessage("Changes saved for vehicle recall " + vehicleRecall.Vehicle.VehicleId);
|
||||
return RedirectToAction("Details", new { id = vehicleRecall.VehicleRecallId });
|
||||
}
|
||||
return View(viewModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user