コード例 #1
0
        private void UpdateNotConnected(BkGame bkGame)
        {
            var existBkGame = _freeBkGameList.Get(eg =>
                                                  eg.BkGame.EventName == bkGame.EventName && bkGame.Bookmaker == eg.BkGame.Bookmaker);

            var existsOtherBkGames = GamesComparer.FindBkGames(bkGame, _freeBkGameList.Get())
                                     .Where(fg => fg.BkGame.Bookmaker != bkGame.Bookmaker)
                                     .ToArray();

            if (existsOtherBkGames.Any())
            {
                var game = new Game(bkGame.Group);
                game.AddBkGame(bkGame);
                foreach (var existsOtherBkGame in existsOtherBkGames)
                {
                    game.AddBkGame(existsOtherBkGame);
                }

                _gameList.Add(game);

                var ids = GamesComparer
                          .FindBkGames(bkGame, _freeBkGameList.Get())
                          .Select(g => g.Id);
                _freeBkGameList.Remove(decorator => ids.Contains(decorator.Id));
            }
            else if (existBkGame == null)
            {
                _freeBkGameList.Add(new BkGameDecorator(bkGame));
            }
            else
            {
                existBkGame.Update(bkGame);
            }
        }
コード例 #2
0
        public T GetNew(string name = "default")
        {
            var result = Factory.Create(name);

            AsyncList.Add(result);

            return(result);
        }