Esempio n. 1
0
        //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));
        }
Esempio n. 2
0
        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));
        }