@using CarCareTracker.Helper @inject IConfigHelper config @inject ITranslationHelper translator @model CostDistanceTableForVehicle @{ var userConfig = config.GetUserConfig(User); var userLanguage = userConfig.UserLanguage; var hideZero = userConfig.HideZero; var years = Model.CostData.Select(x => x.Year).OrderByDescending(x => x).Distinct(); var months = Model.CostData.OrderBy(x => x.MonthId).Select(x => x.MonthName).Distinct(); } @if (Model.CostData.Any()) {
| @(translator.Translate(userLanguage, "Year")) | @foreach(int year in years){ if (year != default){@year | } }|||||
|---|---|---|---|---|---|---|
| @month | @foreach(int year in years){ if (year != default){ { var dataToDisplay = Model.CostData.Where(x => x.Year == year && x.MonthName == month).FirstOrDefault(); if (dataToDisplay != null && dataToDisplay != default) {@(StaticHelper.HideZeroCost(dataToDisplay.Cost.ToString("C2"), hideZero)) | @(dataToDisplay.DistanceTraveled != default ? $"{dataToDisplay.DistanceTraveled.ToString("N0")} {Model.DistanceUnit}" : "---") | @(StaticHelper.HideZeroCost(dataToDisplay.CostPerDistanceTraveled.ToString("C2"), hideZero, $"/{Model.DistanceUnit}")) | } else {@(StaticHelper.HideZeroCost(0M.ToString("C2"), hideZero)) | @("---") | @($"{StaticHelper.HideZeroCost(0M.ToString("C2"), hideZero, $"/{Model.DistanceUnit}")}") | } } } }
| @(translator.Translate(userLanguage, "Total")) | @foreach (int year in years) { if (year != default) { { var yearDataToDisplay = Model.CostData.Where(x => x.Year == year); if (yearDataToDisplay != null && yearDataToDisplay != default) { var distanceTraveled = yearDataToDisplay.Sum(x => x.DistanceTraveled); var costAccrued = yearDataToDisplay.Sum(x => x.Cost);@(StaticHelper.HideZeroCost(costAccrued.ToString("C2"), hideZero)) | @(distanceTraveled != default ? $"{distanceTraveled.ToString("N0")} {Model.DistanceUnit}" : "---") | @(StaticHelper.HideZeroCost(distanceTraveled != default && costAccrued != default ? (costAccrued / distanceTraveled).ToString("C2") : 0M.ToString("C2"), hideZero, $"/{Model.DistanceUnit}")) | } else {@(StaticHelper.HideZeroCost(0M.ToString("C2"), hideZero)) | @("---") | @($"{StaticHelper.HideZeroCost(0M.ToString("C2"), hideZero)}") | } } } }