Ejemplo n.º 1
0
        async public Task <HttpResponseMessage> SavePlayer(GameResultViewModel player)
        {
            List <string> errors = new List <string>();
            var           game   = db.games.Where(g => g.GameId == player.GameId).SingleOrDefault();

            if (game == null)
            {
                errors.Add("No such game found");
            }
            // no errors
            if (errors.Count == 0)
            {
                try
                {
                    game.Player = player.Player;
                    await db.SaveChangesAsync();

                    // update cache for top players list
                    foreach (var item in MemoryDB.GetTopPlayers())
                    {
                        if (item.Value == game.GameId)
                        {
                            item.Key.Name = game.Player;
                        }
                    }

                    return(Request.CreateResponse(HttpStatusCode.Accepted));
                }
                catch
                {
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError));
                }
            }
            else
            {
                return(Request.CreateResponse <List <string> >(HttpStatusCode.BadRequest, errors));
            }
        }
Ejemplo n.º 2
0
 public IList <TopPlayer> TopPlayers()
 {
     return(MemoryDB.GetTopPlayers().Keys);
 }