ChessServer.Commands.CommandCreateGame.DoWork C# (CSharp) Method

DoWork() public method

public DoWork ( string request ) : Response
request string
return Protocol.Response
        public override Response DoWork(string request)
        {
            var workRequest = JsonConvert.DeserializeObject<CreateGameRequest>(request);
            var workResponse = new CreateGameResponse();
            if (workRequest.NewPlayer == null)
            {
                workRequest.NewPlayer = Server.CreateRandomNewUser();
            }
            if (!Server.Users.ContainsKey(workRequest.NewPlayer.Name))
            {
                Server.Users.TryAdd(workRequest.NewPlayer.Name, workRequest.NewPlayer);
            }
            var game = new GameObject(workRequest.NewPlayer) { Act = Act.WaitingOpponent };

            if (Server.Games.TryAdd(game.Id, game))
            {
                workResponse.ID = game.Id;
                workResponse.Status = Statuses.Ok;
                workResponse.FirstPlayer = workRequest.NewPlayer;
            }
            else
                workResponse.Status = Statuses.ErrorCreateGame;
            return workResponse;
        }
CommandCreateGame