private void CreateInitialDeck(DbPlayer newPlayer)
 {
     var rand = new Random();
     for (int i = 0; i < 5; i++)
     {
         DbRepository.Current.Add(new DbCard() { Owner = newPlayer, CardId = rand.Next(1, 10) });
     }
 }
        public AiPlayer(int id, double strength)
        {
            //CSScript.GlobalSettings.AddSearchDir(@"C:\Users\Slawek\Documents\GitHub\TripleTriadRefresh\TripleTriadRefresh.Server\bin\Debug\Scripts\Ai\");
            //var ass = CSScript.Load(@"Mind.cs");
            //this.mind = ass.CreateInstance("Mind", false, BindingFlags.CreateInstance, null, null, CultureInfo.InvariantCulture, null).AlignToInterface<IMind>();
            this.mind = new Mind().AlignToInterface<IMind>();

            this.strength = strength;
            DbEntity = new DbPlayer();
            this.ConnectionId = Guid.NewGuid().ToString();
        }
        public IPlayer Activate(string id)
        {
            DbRepository.Transacted(() =>
            {
                var newPlayer = new DbPlayer() { ExternalId = id, ExternalType = "FB" };
                newPlayer.Id = (int)DbRepository.Current.Add(newPlayer);

                var standing = new DbStanding();
                standing.Player = newPlayer;
                standing.Season = DbRepository.Current.Single<DbSeason>(s => s.DateCreated == DbRepository.Current.All<DbSeason>().Max(max => max.DateCreated).Date);
                standing.UnlockedRules = Rules.Open;
                DbRepository.Current.Add(standing);

                CreateInitialDeck(newPlayer);
            });

            return new Player(id);
        }