@using CarCareTracker.Helper @inject IConfigHelper config @inject ITranslationHelper translator @model VehicleHistoryViewModel @{ var userConfig = config.GetUserConfig(User); var hideZero = userConfig.HideZero; var userLanguage = userConfig.UserLanguage; var extraFields = Model.ReportParameters.ExtraFields; }
@translator.Translate(userLanguage, "Vehicle Maintenance Report") @if (!string.IsNullOrWhiteSpace(Model.StartDate) && !string.IsNullOrWhiteSpace(Model.EndDate)) {
@($"{@translator.Translate(userLanguage, "From")} {Model.StartDate} {@translator.Translate(userLanguage, "To")} {Model.EndDate}") }

  • @($"{Model.VehicleData.Year} {Model.VehicleData.Make} {Model.VehicleData.Model}")
  • @if (!string.IsNullOrWhiteSpace(Model.VehicleData.LicensePlate)) {
  • @Model.VehicleData.LicensePlate
  • } @foreach(ExtraField extraField in Model.VehicleData.ExtraFields) { if (!string.IsNullOrWhiteSpace(extraField.Value)) {
  • @($"{extraField.Name}: {extraField.Value}")
  • } }
  • @if (Model.VehicleData.IsElectric) { @translator.Translate(userLanguage, "Electric") } else if (Model.VehicleData.IsDiesel) { @translator.Translate(userLanguage, "Diesel") } else { @translator.Translate(userLanguage, "Gasoline") }
    @if (!string.IsNullOrWhiteSpace(Model.DaysOwned)) {
    @($"{Model.DaysOwned} {translator.Translate(userLanguage, "Days")}")
    } @if (Model.DistanceTraveled != default) {
    @($"{Model.DistanceTraveled} {Model.DistanceUnit}")
    }
  • @($"{translator.Translate(userLanguage, "Last Reported Odometer Reading")}: {Model.Odometer}")
  • @($"{translator.Translate(userLanguage, "Average Fuel Economy")}: {Model.MPG}")
  • @($"{translator.Translate(userLanguage, "Total Spent(excl. fuel)")}: {Model.TotalCost.ToString("C")} ({Model.TotalCostPerMile.ToString("C")}/{Model.DistanceUnit})")
  • @($"{translator.Translate(userLanguage, "Total Spent on Fuel")}: {Model.TotalGasCost.ToString("C")} ({Model.TotalGasCostPerMile.ToString("C")}/{Model.DistanceUnit})")

@if (Model.TotalDepreciation != default) {
@(Model.TotalDepreciation > 0 ? translator.Translate(userLanguage, "Depreciation") : translator.Translate(userLanguage, "Appreciation"))
@Math.Abs(Model.TotalDepreciation).ToString("C")
@if (Model.DepreciationPerDay != default) {
@($"{Model.DepreciationPerDay.ToString("C")}/{translator.Translate(userLanguage, "day")}")
} @if (Model.DepreciationPerMile != default) {
@($"{Model.DepreciationPerMile.ToString("C")}/{Model.DistanceUnit}")
}

}
@foreach(string extraField in extraFields) { } @foreach (GenericReportModel reportData in Model.VehicleHistory) { @foreach(string extraField in extraFields) { } }
@translator.Translate(userLanguage, "Type") @translator.Translate(userLanguage, "Date") @translator.Translate(userLanguage, "Odometer") @translator.Translate(userLanguage, "Description") @translator.Translate(userLanguage, "Cost") @translator.Translate(userLanguage, "Notes")@extraField
@if (reportData.DataType == ImportMode.ServiceRecord) { @translator.Translate(userLanguage, "Service") } else if (reportData.DataType == ImportMode.RepairRecord) { @translator.Translate(userLanguage, "Repair") } else if (reportData.DataType == ImportMode.UpgradeRecord) { @translator.Translate(userLanguage, "Upgrade") } else if (reportData.DataType == ImportMode.TaxRecord) { @translator.Translate(userLanguage, "Tax") } @reportData.Date.ToShortDateString() @(reportData.Odometer == default ? "---" : reportData.Odometer.ToString("N0")) @reportData.Description @(StaticHelper.HideZeroCost(reportData.Cost, hideZero)) @StaticHelper.TruncateStrings(reportData.Notes, 100)@(reportData.ExtraFields.Where(x => x.Name == extraField)?.FirstOrDefault()?.Value ?? "")
@StaticHelper.ReportNote
@if (Model.ReportParameters.PrintIndividualRecords){ @foreach (GenericReportModel genericRecord in Model.VehicleHistory) {

  • @($"{Model.VehicleData.Year} {Model.VehicleData.Make} {Model.VehicleData.Model}")
  • @($"{StaticHelper.GetVehicleIdentifier(Model.VehicleData)}")
  • @foreach (ExtraField extraField in Model.VehicleData.ExtraFields) { if (!string.IsNullOrWhiteSpace(extraField.Value)) {
  • @($"{extraField.Name}: {extraField.Value}")
  • } }
    @if (!string.IsNullOrWhiteSpace(genericRecord.Description)) {
  • @($"{translator.Translate(userLanguage, "Description")}: {genericRecord.Description}")
  • } @switch (genericRecord.DataType) { case ImportMode.ServiceRecord: case ImportMode.RepairRecord: case ImportMode.UpgradeRecord:
  • @($"{translator.Translate(userLanguage, "Date")}: {genericRecord.Date.ToShortDateString()}")
  • @($"{translator.Translate(userLanguage, "Odometer")}: {genericRecord.Odometer}")
  • @($"{translator.Translate(userLanguage, "Cost")}: {genericRecord.Cost.ToString("C")}")
  • break; case ImportMode.TaxRecord:
  • @($"{translator.Translate(userLanguage, "Date")}: {genericRecord.Date.ToShortDateString()}")
  • @($"{translator.Translate(userLanguage, "Cost")}: {genericRecord.Cost.ToString("C")}")
  • break; } @foreach (ExtraField extraField in genericRecord.ExtraFields) {
  • @($"{extraField.Name}: {extraField.Value}")
  • }

@if (genericRecord.RequisitionHistory.Any()) {
@foreach (SupplyUsageHistory usageHistory in genericRecord.RequisitionHistory) { }
@translator.Translate(userLanguage, "Part Number") @translator.Translate(userLanguage, "Description") @translator.Translate(userLanguage, "Quantity") @translator.Translate(userLanguage, "Cost")
@usageHistory.PartNumber @usageHistory.Description @usageHistory.Quantity.ToString("F") @usageHistory.Cost.ToString("C2")

}
@(genericRecord.Notes)
} }