Ejemplo n.º 1
0
        public static async Task <object> RunAsync(
            [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequestData req,
            FunctionContext executionContext)
        {
            var logger = executionContext.GetLogger("Messages");

            logger.LogInformation("C# HTTP trigger function processed a request.");
            var message = await req.ReadFromJsonAsync <FireMessage>();

            var game = CosmosDbHandler.FindGame(message?.GameId, logger);

            if (game == null)
            {
                return(null);
            }
            game = GameController.Fire(game, message.PlayerId, message.Row, message.Column);
            game = await CosmosDbHandler.SaveGameAsync(game, logger);

            return(new
            {
                Target = "gameUpdated",
                Arguments = new Game[]
                {
                    game
                }
            });
        }
Ejemplo n.º 2
0
        public static async Task <object> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequestData req,
            FunctionContext executionContext
            )
        {
            var logger = executionContext.GetLogger("InitGame");

            logger.LogInformation("C# HTTP trigger function processed a request.");
            var player = await JsonSerializer.DeserializeAsync <Player>(req.Body);

            if (!GameController.IsPlayerValid(player))
            {
                return(req.CreateResponse(HttpStatusCode.BadRequest));
            }
            var game = await CosmosDbHandler.FindOpenGameAsync(player, logger);

            return(new
            {
                Target = "gameUpdated",
                Arguments = new Game[]
                {
                    game
                }
            });
        }