Example #1
0
        // TODO? [Authorize]
        public async Task CreateRoom(CreateRoomRequest request)
        {
            try
            {
                var room = await _roomService.CreateRoom(request.GameTypeID);

                var response = _hubService.CreateGame(Context.ConnectionId, room, request);

                if (response.GetType() == typeof(HubErrorResponse))
                {
                    await SendErrorResponseToCaller((HubErrorResponse)response);

                    return;
                }

                var successResponse = (HubSuccessResponse)response;
                var data            = (CreateRoomResponse)successResponse.Data;
                await Groups.AddToGroupAsync(Context.ConnectionId, data.Player.GroupName);

                await SendSuccessResponseToCaller(successResponse);
            }
            catch (Exception ex)
            {
                await SendErrorResponseToCaller(new HubErrorResponse
                {
                    Message = ex.Message,
                    Method  = "CreateRoom"
                });
            }
        }