Beispiel #1
0
        /// <summary>
        /// OnCommandCount
        /// </summary>
        /// <param name="p"></param>
        private void OnCommandCount(object p)
        {
            LockControls();

            var compounderQueryParams = new CompounderQueryParams
            {
                YearFrom             = YearFrom,
                YearTo               = YearTo,
                Dates                = Configuration.Instance["Dates"].Split(",").Select(d => d.Trim()).ToList(),
                RoeFrom              = RoeFrom,
                ReinvestmentRateFrom = ReinvestmentRateFrom,
                HistoryDepth         = Convert.ToInt32(Configuration.Instance["HistoryDepth"]),
                RoeGrowthKoef        = RoeGrowthKoefSelected,
                RevenueGrowthKoef    = RevenueGrowthKoefSelected,
                EpsGrowthKoef        = EpsGrowthKoefSelected,
                DebtEquityRatioFrom  = DebtToEquityFrom,
                DebtEquityRatioTo    = DebtToEquityTo,
                Exchanges            = Exchanges
            };

            BackgroundWork((s, e) =>
            {
                var count = _queryFactory.CompounderQuery.Count(compounderQueryParams);
                (s as BackgroundWorker).ReportProgress(100, count);
            }, (s, e) =>
            {
                var cnt = (int)(e.UserState);
                CountFilteredMessage = $"{e.UserState} companies filtered";
            }, (s, e) =>
            {
                UnlockControls();
            });
        }
Beispiel #2
0
        /// <summary>
        /// OnCommandEarnings
        /// </summary>
        /// <param name="p"></param>
        private void OnCommandEarnings(object p)
        {
            List <string> companiesNotResolved = new List <string>();
            List <string> symbolList           = new List <string>();

            var listOfCompanies = CompaniesEarnings.Split("\r\n").ToList();

            listOfCompanies = listOfCompanies.Where(c => !string.IsNullOrWhiteSpace(c)).ToList();
            listOfCompanies = listOfCompanies.Select(c => c.Trim()).ToList();
            listOfCompanies = listOfCompanies.Select(c => c.Replace("'", " ")).ToList();

            foreach (var company in listOfCompanies)
            {
                var symbolsAsList = _queryFactory.SymbolByCompanyQuery.FindByCompany(company);
                if (!symbolsAsList.Any())
                {
                    companiesNotResolved.Add(company);
                }
                else
                {
                    var currentSymbols = symbolsAsList.Select(s => s.Split("\t")[0]);
                    symbolList.AddRange(currentSymbols);
                }
            }

            if (companiesNotResolved.Any())
            {
                CompaniesEarningsNotProcessed = companiesNotResolved.Aggregate((r, n) => r + "\r\n" + n);
            }

            if (!symbolList.Any())
            {
                return;
            }

            var compounderQueryParams = new CompounderQueryParams
            {
                YearFrom     = YearFrom,
                YearTo       = YearTo,
                Dates        = Configuration.Instance["Dates"].Split(",").Select(d => d.Trim()).ToList(),
                HistoryDepth = Convert.ToInt32(Configuration.Instance["HistoryDepth"])
            };

            LockControls();

            BackgroundWork((s, e) =>
            {
                var resultSetList = _queryFactory.CompounderQuery.FindBySymbol(compounderQueryParams, symbolList);
                (s as BackgroundWorker).ReportProgress(100, resultSetList);
            }, (s, e) =>
            {
                EarningsResultSetList = ((ResultSetListReinvestment)e.UserState).ResultSets;
                CountTotal            = ((ResultSetListReinvestment)e.UserState).CountTotal;
            }, (s, e) =>
            {
                UnlockControls();
            });
        }
Beispiel #3
0
        /// <summary>
        /// OnCommandFindBySymbol
        /// </summary>
        /// <param name="p"></param>
        private void OnCommandFindBySymbol(object p)
        {
            var compounderQueryParams = new CompounderQueryParams
            {
                YearFrom     = YearFrom,
                YearTo       = YearTo,
                Dates        = Configuration.Instance["Dates"].Split(",").Select(d => d.Trim()).ToList(),
                HistoryDepth = Convert.ToInt32(Configuration.Instance["HistoryDepth"])
            };

            var symbolList = new List <string> {
                Symbol
            };

            SymbolResultSetList = _queryFactory.CompounderQuery.FindBySymbol(compounderQueryParams, symbolList).ResultSets;
        }
Beispiel #4
0
        /// <summary>
        /// OnCommandGo
        /// </summary>
        /// <param name="p"></param>
        private void OnCommandGo(object p)
        {
            LockControls();

            var compounderQueryParams = new CompounderQueryParams
            {
                YearFrom             = YearFrom,
                YearTo               = YearTo,
                Dates                = Configuration.Instance["Dates"].Split(",").Select(d => d.Trim()).ToList(),
                RoeFrom              = RoeFrom == 0 ? null : RoeFrom,
                RoeTo                = RoeTo == 0 ? null : RoeTo,
                ReinvestmentRateFrom = ReinvestmentRateFrom == 0 ? null : ReinvestmentRateFrom,
                ReinvestmentRateTo   = ReinvestmentRateTo == 0 ? null : ReinvestmentRateTo,
                HistoryDepth         = Convert.ToInt32(Configuration.Instance["HistoryDepth"]),
                RoeGrowthKoef        = RoeGrowthKoefSelected == 0 ? null : RoeGrowthKoefSelected,
                RevenueGrowthKoef    = RevenueGrowthKoefSelected == 0 ? null : RevenueGrowthKoefSelected,
                EpsGrowthKoef        = EpsGrowthKoefSelected == 0 ? null : EpsGrowthKoefSelected,
                OrderBy              = SortBySelected.Value,
                Descending           = SortBySelected.Descending,
                PageSize             = PageSizeSelected,
                CurrentPage          = CurrentPage,
                DebtEquityRatioFrom  = DebtToEquityFrom == 0 ? null : DebtToEquityFrom,
                DebtEquityRatioTo    = DebtToEquityTo == 0 ? null : DebtToEquityTo,
                Exchanges            = Exchanges,
                MaxResultCount       = Convert.ToInt32(Configuration.Instance["MaxResultCount"])
            };

            BackgroundWork((s, e) =>
            {
                var symbols = _queryFactory.CompounderQuery.Run(compounderQueryParams);
                (s as BackgroundWorker).ReportProgress(100, symbols);
            }, (s, e) =>
            {
                ResultSetList    = (ResultSetListReinvestment)e.UserState;
                ListOfResultSets = ResultSetList.ResultSets;
                CountTotal       = ResultSetList.CountTotal;
            }, (s, e) =>
            {
                CurrentAction = GenerateCurrentActionMessage(ResultSetList);
                UnlockControls();
                UpdatePageButtons();
            });
        }
Beispiel #5
0
        /// <summary>
        /// OnCommandFindByCompany
        /// </summary>
        /// <param name="p"></param>
        private void OnCommandFindByCompany(object p)
        {
            var compounderQueryParams = new CompounderQueryParams
            {
                YearFrom     = YearFrom,
                YearTo       = YearTo,
                Dates        = Configuration.Instance["Dates"].Split(",").Select(d => d.Trim()).ToList(),
                HistoryDepth = Convert.ToInt32(Configuration.Instance["HistoryDepth"])
            };

            var symbolsAsList = _queryFactory.SymbolByCompanyQuery.FindByCompany(Company);

            if (symbolsAsList.Any())
            {
                SymbolsFound = symbolsAsList.Aggregate((r, n) => r + "\r\n" + n);
                SymbolsFound = string.IsNullOrWhiteSpace(SymbolsFound) ? "No matches!" : SymbolsFound;
            }
            else
            {
                SymbolsFound = "No data found.";
            }
        }