Пример #1
0
 public List <User> GetPlayersForGame(Guid gameId)
 {
     using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
     {
         var game = db.Games.First(x => x.ID == gameId);
         return(new List <User> {
             game.PlayerWhite,
             game.PlayerBlack
         });
     }
 }
Пример #2
0
 public GameResult GetGameResults(Guid gameId)
 {
     using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
     {
         var game = db.Games.First(x => x.ID == gameId);
         return(new GameResult
         {
             Winner = game.Winner,
             Loser = game.WinnerId == game.PlayerWhiteId ? game.PlayerBlack : game.PlayerWhite
         });
     }
 }
Пример #3
0
        public Guid EndGame(Guid gameId, Guid winnerId)
        {
            var id = Guid.NewGuid();

            using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
            {
                var game = db.Games.First(x => x.ID == gameId);
                game.EndTime  = DateTime.Now;
                game.WinnerId = winnerId;
                db.SaveChanges();
            }
            return(id);
        }
Пример #4
0
 public Guid StartGame(Guid id, Guid playerWhite, Guid playerBlack)
 {
     using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
     {
         db.Games.Add(new Models.Game
         {
             ID            = id,
             StartTime     = DateTime.Now,
             PlayerWhiteId = playerWhite,
             PlayerBlackId = playerBlack,
         });
         db.SaveChanges();
     }
     return(id);
 }
Пример #5
0
        public Guid CreateUser(string name)
        {
            var id = Guid.NewGuid();

            using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
            {
                db.Users.Add(new Models.User
                {
                    ID   = id,
                    Name = name
                });
                db.SaveChanges();
            }
            return(id);
        }
Пример #6
0
 protected void Application_Start()
 {
     AreaRegistration.RegisterAllAreas();
     GlobalConfiguration.Configure(WebApiConfig.Register);
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
     using (var db = new SpeedCheckers.DAL.SpeedCheckersContext()) {
         db.Users.Add(new Models.User
         {
             ID   = Guid.NewGuid(),
             Name = "Init"
         });
         db.SaveChanges();
     }
 }
Пример #7
0
 //loads games data into list and lists it on game page
 public List <FinishedGame> GetFinishedGames()
 {
     using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
     {
         var games = db.Games
                     .Where(x => x.EndTime != null)
                     .OrderBy(x => x.StartTime)
                     .Select(x => new FinishedGame
         {
             StartTime       = x.StartTime,
             EndTime         = x.EndTime.Value,
             WhitePlayerName = x.PlayerWhite.Name,
             BlackPlayerName = x.PlayerBlack.Name,
             WinnerName      = x.Winner.Name
         }).ToList();
         return(games);
     }
 }
Пример #8
0
        // the function accepts the unique game id and the unique player id and the moveement details and saves it to the db moves history
        public Models.GameMove AddMove(Guid gameId, Guid playerId, string from, string to)
        {
            var id = Guid.NewGuid();

            using (var db = new SpeedCheckers.DAL.SpeedCheckersContext())
            {
                var lastMove = db.Moves.OrderByDescending(x => x.Number).FirstOrDefault();
                var number   = lastMove?.Number + 1 ?? 1;

                var move = new Models.GameMove {
                    ID       = id,
                    GameId   = gameId,
                    MoveFrom = from,
                    MoveTo   = to,
                    Number   = number,
                    PlayerId = playerId,
                };
                db.Moves.Add(move);
                db.SaveChanges();
                return(move);
            }
        }