public ActionResult PieChart() { GIUser u = (GIUser)Session["UserProfile"]; var user = db.GIUsers.Where(a => a.Id == u.Id).First(); //DateTime mydate = new DateTime(2015, 9, 25); 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(); string[] pieNames = new string[2]; pieNames[0] = "资产"; pieNames[1] = "债务"; double[] pieValues = new double[2]; pieValues[0] = CapitalSum; pieValues[1] = DebtSum; System.Web.UI.DataVisualization.Charting.Chart chart = new Chart(); chart.Height = 400; chart.Width = 400; chart.ChartAreas.Add(new ChartArea()); chart.Series.Add(new Series("Data")); chart.Series["Data"].ChartType = SeriesChartType.Pie; chart.Series["Data"]["PieLabelStyle"] = "Outside"; chart.Series["Data"]["PieLineColor"] = "Black"; chart.Series["Data"].Points.DataBindXY( pieNames, pieValues); //Other chart formatting and data source omitted. MemoryStream ms = new MemoryStream(); chart.SaveImage(ms, ChartImageFormat.Png); return File(ms.ToArray(), "image/png"); }
//Jack public ActionResult Summary() { 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); return View(context); } }
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); } }