public ActionResult CapitalsAndDebt() { GIUser u = (GIUser)Session["UserProfile"]; if (u == null) { return RedirectToAction("Index", "Home"); } else { var user = db.GIUsers.Where(a => a.Id == u.Id).First(); CapitalContext context = new CapitalContext(); var capitals = user.Capitals.ToList(); var capitalType = db.CapitalTypes; var houseProperty = user.HouseProperties; context.houseList = houseProperty.ToList(); context.houseSum = houseProperty.Select(h => h.value).Sum(); foreach (var acount in user.BankAcounts) { context.investContext.addAcount(acount); } var CapitalSum = context.houseSum + context.investContext.cashSum + context.investContext.retireSum + context.investContext.stockSum; var DebtSum = (double)capitals.Where(a => a.CapitalType.CapitalOrDebt == 0).Select(a => a.CapitalValue).Sum(); ViewBag.NetCapital = (CapitalSum - DebtSum); foreach (var ct in capitalType) { var items = capitals.Where(a => a.CapitalType.Id == ct.Id); var list = items.ToList(); var sumValue = items.Select(c => c.CapitalValue).Sum(); var total = CapitalSum; if (ct.CapitalOrDebt == 0) { total = DebtSum; } var sum = "0.00"; sum = sumValue.ToString("#0.00"); context.addCapital(ct, list, sum); } return View(context); } }