public static CarLiabilityListViewModel GetCarLiabilityByUser(string username) { Entities entities = new Entities(); CarLiabilityListViewModel result = new CarLiabilityListViewModel(); DateTime current = DateTime.Now; var liabilities = entities.Liabilities.Where(x => x.Username.Equals(username) && x.LiabilityType == (int)Constants.Constants.LIABILITY_TYPE.CAR && !x.DisabledDate.HasValue).OrderBy(x => x.Name); foreach (var liability in liabilities) { CarLiabilityViewModel viewModel = CreateViewModel(liability); result.Liabilities.Add(viewModel); } var lbts = result.Liabilities.Where(x => x.StartDate <= current && x.EndDate >= current); result.TotalOriginalValue = lbts.Sum(x => x.LiabilityValue); result.TotalLiabilityValue = lbts.Sum(x => x.Value.Value); result.TotalInterestPayment = lbts.Sum(x => x.MonthlyInterestPayment); result.TotalOriginalPayment = lbts.Sum(x => x.MonthlyOriginalPayment); result.TotalPayment = lbts.Sum(x => x.TotalMonthlyPayment); result.TotalRemainedValue = lbts.Sum(x => x.RemainedValue); result.TotalInterestRate = result.TotalLiabilityValue > 0 ? lbts.Sum(x => x.OriginalInterestPayment) / result.TotalLiabilityValue * 12 : 0; result.IsInitialized = UserQueries.IsCompleteInitialized(username); return(result); }
public ActionResult _CarLiabilityTable() { CarLiabilityListViewModel model = CarLiabilityQueries.GetCarLiabilityByUser(UserQueries.GetCurrentUsername()); return(PartialView(model)); }