//GET: Chart /*public async Task<IActionResult> ToChart() * { * ToChartViewModel model = new ToChartViewModel() * { * ChartDataList = await _context.ChartData.ToListAsync(), * ChartData = new ChartData() * }; * * model.ChartDataList = model.ChartDataList.Where(s => s.PortfolioId.Equals(1)); * model.Portfolios = 0; * * return View(model); * }*/ // GET public async Task <IActionResult> ToChartAll() { ToChartViewModel model = new ToChartViewModel() { ChartDataList = await _context.ChartData.ToListAsync(), ChartData = new ChartData(), SortedListData = new SortedList <DateTime, List <int> >() }; model.ChartDataList = from s in model.ChartDataList select s; List <int> portfolioList1 = new List <int>(); List <int> portfolioList2 = new List <int>(); List <int> portfolioList3 = new List <int>(); List <int> portfolioList4 = new List <int>(); List <DateTime> dateList = new List <DateTime>(); foreach (var item in model.ChartDataList.Where(s => s.PortfolioId.Equals(1)).OrderBy(s => s.Date)) { portfolioList1.Add(item.Equity); } portfolioList1.Count(); foreach (var item in model.ChartDataList.Where(s => s.PortfolioId.Equals(2)).OrderBy(s => s.Date)) { portfolioList2.Add(item.Equity); } portfolioList2.Count(); foreach (var item in model.ChartDataList.Where(s => s.PortfolioId.Equals(1002)).OrderBy(s => s.Date)) { portfolioList3.Add(item.Equity); } portfolioList3.Count(); foreach (var item in model.ChartDataList.Where(s => s.PortfolioId.Equals(1004)).OrderBy(s => s.Date)) { portfolioList4.Add(item.Equity); } portfolioList4.Count(); foreach (var item in model.ChartDataList.Where(s => s.PortfolioId.Equals(1)).OrderBy(s => s.Date)) { dateList.Add(item.Date); } dateList.Count(); SortedList <DateTime, List <int> > sortedList = new SortedList <DateTime, List <int> >(); for (int i = 0; i < dateList.Count(); i++) { sortedList.Add(dateList[i], new List <int> { portfolioList1[i], portfolioList2[i], portfolioList3[i], portfolioList4[i] }); } model.SortedListData = sortedList; return(View(model)); }
public async Task <IActionResult> ToChart(int portfolios) { ToChartViewModel model = new ToChartViewModel() { ChartDataList = await _context.ChartData.ToListAsync(), ChartData = new ChartData(), SortedListData = new SortedList <DateTime, List <int> >() }; model.ChartDataList = from s in model.ChartDataList select s; if (ModelState.IsValid) { switch (portfolios) { case 0: return(RedirectToAction(nameof(ToChartAll))); case 1: model.ChartDataList = model.ChartDataList.Where(s => s.PortfolioId.Equals(1)); break; case 2: model.ChartDataList = model.ChartDataList.Where(s => s.PortfolioId.Equals(2)); break; case 3: model.ChartDataList = model.ChartDataList.Where(s => s.PortfolioId.Equals(1002)); break; case 4: model.ChartDataList = model.ChartDataList.Where(s => s.PortfolioId.Equals(1004)); break; default: break; } model.Portfolios = portfolios; return(View(model)); } return(View(model)); }