Ejemplo n.º 1
0
        private static void SearchFork()
        {
            var parsers = new List<Tuple<string, IParser>>
            {
                new Tuple<string, IParser>("Marathon", new MarathonParser(new List<GameParser>{ new FootballParser() },
                                                                          new MarketsProviderManager(new List<IMarketsProvider> { new LocalMarketsProvider() }))),
                new Tuple<string, IParser>("Zenit", new ZenitBetParser(new WebPageProvider(new ZenitDomainProvider()), new List<IGameParser> { new FootballGameParser() })),
            };

            var activeParsers = SelectParserMenu(parsers);
            var grouper = new GameGrouper();
            var parserManager = new ParserManager(new StubParserProvider(activeParsers), grouper);
            var forkSearcherManager = new ForkSearcherManager(new ForkSearcher(new TextRulesProvider(File.ReadAllText(Settings.Default.PathToRules))));

            var core = new Core(parserManager, forkSearcherManager);
            core.OnReceivedMainForks += ViewForks;
            core.Run(new List<SportType> { "Футбол" });
            //    .Where(x => x.ProfitRate > 1)
            //    .OrderBy(x => x.ProfitRate)
            //    .Reverse()
            //    .ToList();
            //if (forks.Count == 0)
            //{
            //    Console.WriteLine("The forks not found");
            //}
            //else
            //{
            //    for (var i = 0; i < forks.Count; i++)
            //    {
            //        var fork = forks[i];
            //        const int BetToFirstOne = 100;
            //        var betTosecondOne = BetToFirstOne * fork.CoefsOfFirstBets.ElementAt(0).Value.Get()
            //                             / fork.CoefsOfSecondBets.ElementAt(0).Value.Get();
            //        decimal sum;
            //        Console.WriteLine($"{i + 1}. {fork.SportType} - Profit = {fork.ProfitRate}");
            //        if (fork.CoefsOfFirstBets.Count < 2 && (fork.CoefsOfSecondBets.Count < 2))
            //        {
            //            Console.WriteLine(
            //                $"Ставка в 1-ой конторе = {BetToFirstOne}; " + $"Во 2-ой конторе = {betTosecondOne: #0.###}");
            //            sum = (betTosecondOne + BetToFirstOne) / 100 * fork.ProfitRate;
            //        }
            //        else if ((fork.CoefsOfFirstBets.Count > 1) && (fork.CoefsOfSecondBets.Count < 2))
            //        {
            //            var betTofirstTwo = BetToFirstOne * fork.CoefsOfFirstBets.ElementAt(0).Value.Get()
            //                                / fork.CoefsOfFirstBets.ElementAt(1).Value.Get();
            //            Console.WriteLine(
            //                $"Cтавка в 1-ой конторе на 1-ое событие = {BetToFirstOne}, "
            //                + $"на 2-ое событие = {betTofirstTwo: #0.###};   "
            //                + $"Во 2-ой конторе = {betTosecondOne: #0.###}");
            //            sum = (betTofirstTwo + BetToFirstOne + betTosecondOne) / 100 * fork.ProfitRate;
            //        }
            //        else
            //        {
            //            var betTosecondTwo = BetToFirstOne * fork.CoefsOfFirstBets.ElementAt(0).Value.Get()
            //                                 / fork.CoefsOfSecondBets.ElementAt(1).Value.Get();
            //            Console.WriteLine(
            //                $"Cтавка в 1-ой конторе на 1-ое событие = {BetToFirstOne}"
            //                + $"Во 2-ой конторе на 1-ое событие = {betTosecondOne: #0.###}, "
            //                + $"на 2-ое событие = {betTosecondTwo: #0.###}");
            //            sum = (betTosecondTwo + betTosecondOne + BetToFirstOne) / 100 * fork.ProfitRate;
            //        }
            //        Console.WriteLine($"Cумма прибыли: {sum: #0.##}р.");
            //        Console.WriteLine($"{fork.FirstGame.Info}");
            //        Console.WriteLine($"Имя конторы - {fork.FirstBetsName}:");
            //        foreach (var type in fork.CoefsOfFirstBets.Keys)
            //        {
            //            Console.WriteLine(
            //                $"{string.Empty.PadRight(5)}Тип ставки: {type.ToString().PadRight(20)}| Коэффициент {fork.CoefsOfFirstBets[type]}");
            //        }

                //        Console.WriteLine($"Имя конторы - {fork.SecondBetsName}:");
                //        foreach (var type in fork.CoefsOfSecondBets.Keys)
                //        {
                //            Console.WriteLine(
                //                $"{string.Empty.PadRight(5)}Тип ставки: {type.ToString().PadRight(20)}| Коэффициент {fork.CoefsOfSecondBets[type]}");
                //        }

                //        Console.WriteLine();
                //    }
                //}
        }