public static string CssClassForTile(this HtmlHelper helper, VehicleListViewModel list, VehicleModel vehicle) { VehicleModel selectedItem = list.Vehicles.SelectedItem; bool shouldCompact = (list.IsCollapsed && selectedItem == null) || (selectedItem != null && vehicle.VehicleId != selectedItem.VehicleId); return shouldCompact ? "compact" : String.Empty; }
public ReminderResource(Reminder reminder, VehicleModel vehicle, UrlHelper url) { reminder.CalculateIsOverdue(vehicle.Odometer ?? 0); Title = reminder.Title; Remarks = reminder.Remarks; DueDate = reminder.DueDate; DueDistance = reminder.DueDistance; IsFulfilled = reminder.IsFulfilled; IsOverdue = reminder.IsOverdue; Update = url.Patch<PatchReminderController>(new {reminder.VehicleId, reminder.ReminderId}); }
public void WhenEfficiencyGreaterThanHundred_ThenMagnitudeFormatsCorrectly() { var fillups = new[] { new FillupEntry {Distance = 0, TotalUnits = 0}, new FillupEntry {Distance = 8888, TotalUnits = 10}, }; var vehicle = new VehicleModel(new Vehicle(), CalculateStatistics.Calculate(fillups)); var actual = _helper.AverageFuelEfficiencyMagnitude(vehicle); var expected = MvcHtmlString.Create("hundreds"); Assert.Equal(expected.ToHtmlString(), actual.ToHtmlString()); }
public void WhenEfficiencyGreaterThan99Thousand_ThenNumberFormatsCorrectly() { var fillups = new[] { new FillupEntry {Distance = 0, TotalUnits = 0}, new FillupEntry {Distance = 150000, TotalUnits = 10}, }; var vehicle = new VehicleModel(new Vehicle(), CalculateStatistics.Calculate(fillups)); var actual = _helper.AverageFuelEfficiencyText(vehicle); var expected = MvcHtmlString.Create("15.0k"); Assert.Equal(expected.ToHtmlString(), actual.ToHtmlString()); }
public void WhenEfficiencyGreaterThan99Thousand_ThenNumberFormatsCorrectly() { // HACK: Should not be changing external state UnitConversionHelper.UserUnitOfMeasure = FillupUnits.UsGallons; var fillups = new[] { new FillupEntry {Distance = 0, TotalUnits = 0}, new FillupEntry {Distance = 150000, TotalUnits = 10}, }; var vehicle = new VehicleModel(new Vehicle(), CalculateStatistics.Calculate(fillups)); var actual = _helper.AverageFuelEfficiencyText(vehicle); var expected = MvcHtmlString.Create("56.8k"); Assert.Equal(expected.ToHtmlString(), actual.ToHtmlString()); }
public static MvcHtmlString AverageFuelEfficiencyMagnitude(this HtmlHelper helper, VehicleModel vehicle) { double raw = vehicle.Statistics.AverageFuelEfficiency; double averageFuelEfficiency = Math.Round(raw); string averageFuelEfficiencyMagnitude = string.Empty; if (averageFuelEfficiency >= 1000) { averageFuelEfficiencyMagnitude = "thousands"; } else if (averageFuelEfficiency >= 100) { averageFuelEfficiencyMagnitude = "hundreds"; } return MvcHtmlString.Create(averageFuelEfficiencyMagnitude); }
object VehicleSummary(VehicleModel vehicle) { return new { details = Url.Get<GetVehicleController>(new { vehicle.VehicleId }), fillUps = Url.Get<GetFillUpsController>(new { vehicle.VehicleId }), reminders = Url.Get<GetRemindersController>(new { vehicle.VehicleId }), photo = Url.Get<GetVehiclePhotoController>(new { vehicle.VehicleId }), name = vehicle.Name, year = vehicle.Year, make = vehicle.MakeName, model = vehicle.ModelName, averageFuelEfficiency = vehicle.Statistics.AverageFuelEfficiency, averageCostToDrive = vehicle.Statistics.AverageCostToDrive, averageCostPerMonth = vehicle.Statistics.AverageCostPerMonth }; }
public static JsonReminderViewModel ToJsonReminderViewModel(Reminder reminder, VehicleModel vehicle) { return new JsonReminderViewModel { VehicleName = vehicle.Name, ReminderId = reminder.ReminderId, VehicleId = vehicle.VehicleId, Title = reminder.Title, Remarks = reminder.Remarks, DueDate = reminder.DueDate.HasValue ? String.Format("{0:d MMM yyyy}", reminder.DueDate) : null, DueDistance = reminder.DueDistance, IsOverdue = reminder.IsOverdue ?? false, IsFulfilled = reminder.IsFulfilled, }; }
public static MvcHtmlString AverageFuelEfficiencyText(this HtmlHelper helper, VehicleModel vehicle) { double raw = vehicle.Statistics.AverageFuelEfficiency; double averageFuelEfficiency = Math.Round(raw); string averageFuelEfficiencyText = string.Format("{0:N0}", averageFuelEfficiency); if (averageFuelEfficiency >= 99000) { averageFuelEfficiencyText = "99k+"; } else if (averageFuelEfficiency >= 10000) { averageFuelEfficiencyText = string.Format("{0:N1}k", averageFuelEfficiency/1000); } return MvcHtmlString.Create(averageFuelEfficiencyText); }
private static string GetFullTitle(ReminderModel overdueReminder, VehicleModel vehicle) { string fullTitle = overdueReminder.Title + " | " + vehicle.Name + " @ "; if (overdueReminder.DueDate != null) { fullTitle += overdueReminder.DueDate.Value.ToString("d"); } if (overdueReminder.DueDistance != null) { if (overdueReminder.DueDate != null) { fullTitle += " or "; } fullTitle += overdueReminder.DueDistance.Value.ToString(); } return fullTitle; }
public static MvcHtmlString AverageFuelEfficiencyText(this HtmlHelper helper, VehicleModel vehicle) { return MvcHtmlString.Create(UserDisplayPreferencesHelper.FormatFuelConsumptionAverageFor(vehicle.Statistics.AverageFuelEfficiency)); }
public void WhenVehicleSelectedAndNotCollapsed_ThenNoCssClassApplied() { var notSelected = new VehicleModel(new Vehicle { VehicleId = 1 }, new VehicleStatisticsModel()); var selected = new VehicleModel(new Vehicle { VehicleId = 2 }, new VehicleStatisticsModel()); var list = new VehicleListViewModel(new[] { notSelected, selected }, 2) { IsCollapsed = true }; var actual = _helper.CssClassForTile(list, selected); Assert.Equal(string.Empty, actual); }
public void WhenNoVehicleSelectedAndNotCollapsed_ThenNoCssClassApplied() { var vehicle = new VehicleModel(new Vehicle(), new VehicleStatisticsModel()); var list = new VehicleListViewModel(new[] { vehicle }){ IsCollapsed = false }; var actual = _helper.CssClassForTile(list, vehicle); Assert.Equal(string.Empty, actual); }