Add and delete service reminders
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,6 +63,7 @@ namespace MileageTraker.Web.Controllers
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[RequireRequestValue("vehicleId")]
|
||||
public ActionResult Create(string vehicleId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user