67 lines
1.9 KiB
C#
67 lines
1.9 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Web.Mvc;
|
|
using MileageTraker.Web.Attributes;
|
|
using MileageTraker.Web.ViewModels.ServiceReminder;
|
|
|
|
namespace MileageTraker.Web.Controllers
|
|
{
|
|
[Authorize(Roles = "Administrator, Developer")]
|
|
public class ServiceReminderController : ControllerBase
|
|
{
|
|
[RequireRequestValue("vehicleId")]
|
|
public ActionResult Index(string vehicleId)
|
|
{
|
|
var serviceReminders = DataService.GetServiceReminders(vehicleId).ToList();
|
|
var viewModel = new ServiceReminderResultsViewModel
|
|
{
|
|
ServiceReminderItems = serviceReminders.Select(sr => new ServiceReminderViewModel(sr)),
|
|
VehicleId = vehicleId
|
|
};
|
|
return View(viewModel);
|
|
}
|
|
|
|
[HttpGet]
|
|
[RequireRequestValue("vehicleId")]
|
|
public ActionResult Create(string vehicleId)
|
|
{
|
|
var viewModel = new ServiceReminderViewModel
|
|
{
|
|
VehicleId = vehicleId,
|
|
};
|
|
|
|
var vehicle = DataService.GetVehicle(vehicleId);
|
|
if (vehicle.CurrentOdometer.HasValue)
|
|
viewModel.TargetOdometer = (int) (Math.Ceiling((decimal) ((vehicle.CurrentOdometer.Value + 3000)/1000))*1000);
|
|
|
|
return View(viewModel);
|
|
}
|
|
|
|
public ActionResult Delete(int id)
|
|
{
|
|
var serviceReminder = DataService.GetServiceReminder(id);
|
|
var vehicleId = serviceReminder.Vehicle.VehicleId;
|
|
DataService.DeleteServiceReminder(id);
|
|
return RedirectToAction("Index", new { vehicleId });
|
|
}
|
|
|
|
[HttpPost]
|
|
[ActionLog]
|
|
public ActionResult Create(ServiceReminderViewModel viewModel)
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
var serviceReminder = viewModel.GetServiceReminder();
|
|
|
|
serviceReminder.Vehicle = DataService.GetVehicle(viewModel.VehicleId);
|
|
DataService.AddServiceReminder(serviceReminder);
|
|
|
|
SetStatusMessage(
|
|
string.Format("Service Reminder at {0} miles created", viewModel.TargetOdometer), StatusType.Success);
|
|
return RedirectToAction("Index", new {vehicleId = viewModel.VehicleId});
|
|
}
|
|
|
|
return View(viewModel);
|
|
}
|
|
}
|
|
} |