/// <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(); }); }
/// <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(); }); }
/// <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; }
/// <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(); }); }
/// <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."; } }