示例#1
0
        public int GetGameSessionId()
        {
            int id = -1;

            if (Session[GameSessionIdKey] != null)
            {
                return((int)Session[GameSessionIdKey]);
            }
            using (var db = new SalemEntities())
            {
                var tomorrow       = DateTime.Today.AddDays(1);
                var curGameSession = db.GameSessions.FirstOrDefault(x => x.StartTime >= DateTime.Today && x.StartTime < tomorrow);
                if (curGameSession == null)
                {
                    curGameSession = new GameSession {
                        StartTime = DateTime.Now
                    };
                    db.GameSessions.Add(curGameSession);
                    db.SaveChanges();
                }

                Session[GameSessionIdKey] = curGameSession.Id;
            }

            return(id);
        }
示例#2
0
 public void SaveResults(string killedPlayer, string savedPlayer)
 {
     using (var db = new SalemEntities())
     {
         var roundId = GetRoundId();
         var round   = db.Rounds.First(x => x.Id == roundId);
         round.EndTime  = DateTime.Now;
         round.KillVote = killedPlayer;
         round.SaveVote = savedPlayer;
         db.SaveChanges();
     }
 }
示例#3
0
 public void StartRound()
 {
     using (var db = new SalemEntities())
     {
         var gameSessionId = GetGameSessionId();
         var r             = new Round
         {
             GameSessionId = gameSessionId,
             StartTime     = DateTime.Now,
         };
         db.Rounds.Add(r);
         db.SaveChanges();
         Session[RoundKey] = r.Id;
     }
 }