public void OnPortfolioSelected(object sender, EventArgs e)
        {
            PortfolioReport portfolioReport             = _portfolioService.GetPortfolioReportByPortfolioID(_mainView.SeletedPortfolio.PortfolioID);
            List <PortfolioTradeHistory> tradeHistories = _portfolioService.GetTradeHistoriesByPortfolioID(_mainView.SeletedPortfolio.PortfolioID);

            _mainView.SelectedPortfolioName        = portfolioReport.PortfolioName;
            _mainView.SelectedPortfolioWhenCreated = portfolioReport.WhenCreated;
            _mainView.LoadSelectedPortfolioProfits(portfolioReport.ProfitReports);
            _mainView.LoadSelectedPortfolioTradeHistories(tradeHistories);
        }
        public PortfolioReport GetPortfolioReportByPortfolioID(long portfolioID)
        {
            PortfolioReport reportResult = new PortfolioReport();

            Portfolio portfolio = _dbRepo.Get <Portfolio>()
                                  .Include(p => p.TradeHistories)
                                  .FirstOrDefault(p => p.PortfolioID == portfolioID);

            if (portfolio != null)
            {
                reportResult.PortfolioID   = portfolio.PortfolioID;
                reportResult.PortfolioName = portfolio.PortfolioName;
                reportResult.WhenCreated   = portfolio.WhenCreated;
                reportResult.ProfitReports = GroupProfitByTicker(portfolio.TradeHistories.ToList());
            }
            return(reportResult);
        }