Example #1
0
        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());
        }
Example #5
0
        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());
        }
Example #6
0
        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;
        }
Example #11
0
 public static MvcHtmlString AverageFuelEfficiencyText(this HtmlHelper helper, VehicleModel vehicle)
 {
     return MvcHtmlString.Create(UserDisplayPreferencesHelper.FormatFuelConsumptionAverageFor(vehicle.Statistics.AverageFuelEfficiency));
 }
Example #12
0
        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);
        }
Example #13
0
        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);
        }