@using MileageTraker.Web.ViewModels
@model MileageTraker.Web.ViewModels.VehicleService.VehicleServiceResultsViewModel
@{
ViewBag.Title = "Vehicle Service";
var grid = new WebGrid(Model.ServiceItems, rowsPerPage: 45);
var queryParams = new { Model.Year, Model.Month, Model.MonthRange, Model.VehicleId };
var serviceOverdueBadge = Model.UpcomingServiceReminders.Any(sr => sr.IsServiceOverdue) ? "badge-warning" : "";
}
@section Scripts {
}
@Html.Partial("_StatusMessage")
@using (Html.BeginForm("Index", "VehicleService", FormMethod.Get, new { id = "filter", @class = "form" }))
{
@Html.EditorForModel()
}
@ViewBag.Title
@grid.GetHtml(columns:
grid.Columns(
grid.Column("InvoiceDate", "Invoice Date", item => item.InvoiceDate.ToString("d")),
grid.Column("VehicleId", "Vehicle ID", item => Html.ActionLink((string)item.VehicleId, "DetailsPartial", "Vehicle", new { id = item.VehicleId }, new { @class = "qtip-modal" })),
grid.Column("ServiceCenterName", "Service Center Name"),
grid.Column("Price", "Price", @@String.Format("{0:C}", item.Price)),
grid.Column("Description", "Description"),
grid.Column("VehicleRecall", "Vehicle Recall", item => Recall(item.VehicleRecall)),
grid.Column(format:
@
@Html.ActionLink("Details", "Details", new { id = item.VehicleServiceId }, new { @class = "btn btn-mini" })
@Html.ActionLink("Delete", "Delete", new { id = item.VehicleServiceId }, new { @class = "btn btn-mini" })
)
),
htmlAttributes: new { @class = "table table-striped table-bordered table-hover table-condensed" },
numericLinksCount: 20
)
@helper Recall(SelectListViewModel selectList)
{
if (selectList != null && selectList.Selected > 0)
{
var selected = selectList.Available.FirstOrDefault(i => i.Value == selectList.Selected.ToString());
if (selected != null)
{
@Html.ActionLink(selected.Text, "Details", "VehicleRecall", new { id = selected.Value }, null)
}
}
else
{
(Not a recall)
}
}