示例#1
0
        public static CreditCardLiabilitySummaryViewModel CreateSummaryViewModel(Liabilities liability)
        {
            DateTime current = DateTime.Now;

            CreditCardLiabilitySummaryViewModel liabilityViewModel = new CreditCardLiabilitySummaryViewModel();

            liabilityViewModel.Id             = liability.Id;
            liabilityViewModel.Source         = liability.Name;
            liabilityViewModel.Value          = liability.Value;
            liabilityViewModel.InterestRate   = liability.InterestRate / 100;
            liabilityViewModel.Note           = liability.Note;
            liabilityViewModel.MonthlyPayment = liabilityViewModel.Value * liabilityViewModel.InterestRate / 12;
            liabilityViewModel.AnnualPayment  = liabilityViewModel.MonthlyPayment * 12;
            return(liabilityViewModel);
        }
示例#2
0
        public static CreditCardLiabilitySummaryListViewModel GetCreditCardLiabilitySummaryByUser(string username)
        {
            Entities entities = new Entities();
            CreditCardLiabilitySummaryListViewModel result = new CreditCardLiabilitySummaryListViewModel();
            var liabilities = entities.Liabilities.Where(x => x.Username.Equals(username) &&
                                                         x.LiabilityType == (int)Constants.Constants.LIABILITY_TYPE.CREDIT_CARD &&
                                                         !x.DisabledDate.HasValue).OrderBy(x => x.Name);

            foreach (var liability in liabilities)
            {
                CreditCardLiabilitySummaryViewModel viewModel = CreateSummaryViewModel(liability);
                result.Liabilities.Add(viewModel);
            }

            result.TotalValue          = result.Liabilities.Sum(x => x.Value);
            result.TotalMonthlyPayment = result.Liabilities.Sum(x => x.MonthlyPayment);
            result.TotalAnnualPayment  = result.Liabilities.Sum(x => x.AnnualPayment);
            result.TotalInterestRate   = result.TotalAnnualPayment / result.TotalValue;
            return(result);
        }