47 lines
1.2 KiB
C#
47 lines
1.2 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
using MileageTraker.Web.Attributes;
|
|
using MileageTraker.Web.ViewModels.VehicleService;
|
|
|
|
namespace MileageTraker.Web.Controllers
|
|
{
|
|
[Authorize(Roles = "Administrator, Developer")]
|
|
public class VehicleServiceController : ControllerBase
|
|
{
|
|
public ActionResult Index(VehicleServiceQueryViewModel query)
|
|
{
|
|
var vehicleServices = DataService.GetVehicleServices();
|
|
var viewModel = new VehicleServiceResultsViewModel
|
|
{
|
|
ServiceItems = vehicleServices.Select(s => new VehicleServiceViewModel(s))
|
|
};
|
|
return View(viewModel);
|
|
}
|
|
|
|
public ActionResult Create()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[ActionLog]
|
|
public ActionResult Create(VehicleServiceViewModel viewModel)
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
var vehicleService = viewModel.GetVehicleService();
|
|
|
|
vehicleService.Vehicle = DataService.GetVehicle(viewModel.VehicleId);
|
|
DataService.AddVehicleService(vehicleService);
|
|
|
|
TempData["StatusMessage-Type"] = "alert-success";
|
|
TempData["StatusMessage"] =
|
|
string.Format("Vehicle Service for vehicle {0} created", viewModel.VehicleId);
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
return View(viewModel);
|
|
}
|
|
}
|
|
} |