Exemple #1
0
        public static InsuranceListViewModel GetInsuranceByUser(string username)
        {
            Entities entities   = new Entities();
            var      insurances = entities.Assets.Include("Expenses").Where(x => x.Username.Equals(username) &&
                                                                            x.AssetType == (int)Constants.Constants.ASSET_TYPE.INSURANCE &&
                                                                            !x.DisabledDate.HasValue).OrderBy(x => x.AssetName).ToList();
            InsuranceListViewModel result = new InsuranceListViewModel();

            foreach (var insurance in insurances)
            {
                var expense = insurance.Expenses1.FirstOrDefault();
                InsuranceViewModel viewModel = new InsuranceViewModel
                {
                    Id            = insurance.Id,
                    Name          = insurance.AssetName,
                    Value         = insurance.Value,
                    StartDate     = insurance.StartDate.Value,
                    EndDate       = insurance.EndDate.Value,
                    PaymentPeriod = Helper.TimePeriodString(insurance.StartDate.Value, insurance.EndDate.Value),
                    Expense       = expense.Value,
                    AnnualExpense = expense.Value * 12,
                    Note          = insurance.Note
                };

                int paymentPeriod = Helper.CalculateTimePeriod(insurance.StartDate.Value, insurance.EndDate.Value);
                viewModel.TotalExpense = paymentPeriod * viewModel.Expense;
                viewModel.YieldRate    = viewModel.TotalExpense > 0 ? (viewModel.Value - viewModel.TotalExpense) / viewModel.TotalExpense : 0;
                int currentPeriod = Helper.CalculateTimePeriod(viewModel.StartDate, DateTime.Now);
                viewModel.RemainedValue = viewModel.TotalExpense - viewModel.Expense * currentPeriod;

                result.Insurances.Add(viewModel);
            }

            result.TotalValue         = result.Insurances.Sum(x => x.Value);
            result.TotalTotalExpense  = result.Insurances.Sum(x => x.TotalExpense);
            result.TotalExpense       = result.Insurances.Sum(x => x.Expense);
            result.TotalAnnualExpense = result.Insurances.Sum(x => x.AnnualExpense);
            result.TotalRemainedValue = result.Insurances.Sum(x => x.RemainedValue);
            result.IsInitialized      = UserQueries.IsCompleteInitialized(username);

            return(result);
        }
Exemple #2
0
        public ActionResult _InsuranceTable()
        {
            InsuranceListViewModel model = InsuranceQueries.GetInsuranceByUser(UserQueries.GetCurrentUsername());

            return(PartialView(model));
        }