public IActionResult GetRooms([FromQuery] int page, [FromQuery] int limit) { if (page < 1) { page = 1; } IEnumerable <Room> rooms = _roomService.GetAll(); var size = rooms.Count(); if (limit > 0) { rooms = rooms .Skip((page - 1) * limit) .Take(limit); } var roomDtos = _mapper.Map <IList <RoomInfoDto> >(rooms); foreach (RoomInfoDto roomInfo in roomDtos) { roomInfo.OnlineClientAmount = RoomHub.GetOnlineGroupUsersAmount(roomInfo.Id); } return(Ok(new { rooms = roomDtos, size })); }
async public Task <IActionResult> Configuration(string roomId, [FromBody] RoomConfigurationViewModel roomConfiguration) { var normalisedRoomId = roomId.ToUpperInvariant(); if (!RoomRepository.Exists(normalisedRoomId)) { return(NotFound()); } var room = RoomRepository.Get(normalisedRoomId); if (room.State.Creator.Id != SessionManager.GetCurrentUser().Id) { return(Unauthorized("Only the creator of the room can edit the library")); } await RoomHelpers.WithRoomLock(room, async() => { if (!string.IsNullOrEmpty(roomConfiguration.LibraryScript)) { var limitations = new DiceScript.Contracts.Limitations { MaxProgramSize = 2000, MaxRollNbr = 100 }; var builder = new DiceScript.Builder(limitations); room.Library = builder.BuildLib(roomConfiguration.LibraryScript); room.State.Functions = room.Library.GetFunctionList(); room.State.LibraryScript = roomConfiguration.LibraryScript; } room.State.DiscordWebHook = roomConfiguration.DiscordWebHook; await RoomHub.Update(room); }); return(Ok()); }
public void handle(object messageModel, BasicDeliverEventArgs ea) { var body = ea.Body; var message = Encoding.UTF8.GetString(body); switch (ea.RoutingKey) { case "CreateRoom": var rcHub = new RoomHub(); rcHub.Send(message); break; case "CreateQuestion": var questionHub = new QuestionHub(); questionHub.Send(message); break; case "UpdateQuestion": var updateQuestionHub = new QuestionHub(); updateQuestionHub.Update(message); break; case "DeleteQuestion": var qqhub = new QuestionHub(); qqhub.Delete(message); break; case "CreateChatMessage": var chatHub = new ChatHub(); chatHub.Send(message); break; case "AddQuestionResponse": var qhub = new QuestionHub(); qhub.AddResponse(message); break; case "AddQuestionVote": var qhub2 = new QuestionHub(); qhub2.AddVote(message); break; case "UpdateRoom": var ruHub = new RoomHub(); ruHub.Update(message); break; case "DeleteRoom": var rumHub = new RoomHub(); rumHub.Delete(message); break; } lock (_model) { _model.BasicAck(ea.DeliveryTag, false); } }
private void _initRoomHub(Db db) { _roomHub = new RoomHub(_roomServiceMock.Object, db) { Context = _contextMock.Object, Groups = _groupsMock.Object, Clients = _clientsMock.Object }; }
async public Task Publish(Room room, ResultGroup resultGroup) { string discordWebHook = room.State.DiscordWebHook; if (!string.IsNullOrEmpty(discordWebHook)) { await PublishOnDiscord(discordWebHook, resultGroup); } room.State.Results.Add(resultGroup); await RoomHub.Update(room); }
public void Preload() { if (!CanRun()) { return; } LoadSubscribers(); foreach (var key in _meetings.Keys) { var m = PreloadForRoom(key); //_notifications.Push(new MeetingsUpdatedNotification{Room = key, Meetings = m}); RoomHub.MeetingsUpdated(_roomHubContext, key, m); } }
public void Setup() { roomManagerInstance = new RoomManager(); room = new RoomHub(); player1 = new Player { ConnectionId = Guid.NewGuid().ToString(), PlayerInGame = new PlayerInGame() { Name = Guid.NewGuid().ToString(), Side = PlayerSide.Blue, CardsInHand = new List <ICard>(), Deck = CardHelpers.GetAllTierOneCards() } }; player2 = new Player { ConnectionId = Guid.NewGuid().ToString(), PlayerInGame = new PlayerInGame() { Name = Guid.NewGuid().ToString(), Side = PlayerSide.Red, CardsInHand = new List <ICard>(), Deck = CardHelpers.GetAllTierOneCards() } }; room.Player1 = player1; room.Player2 = player2; boardManager = BoardManagerObject.CreateBoardManager(player1.PlayerInGame, player2.PlayerInGame); room = new RoomHub { BoardManager = boardManager, Player1 = player1, Player2 = player2 }; }
public IActionResult GetMyRooms([FromQuery] int page, [FromQuery] int limit) { var user = _userService.GetById(Int32.Parse(User.Identity.Name)); if (user == null) { return(Unauthorized()); } if (page < 1) { page = 1; } IEnumerable <Room> rooms = _userRoomService.GetRoomsByUserId(user.Id); var size = rooms.Count(); if (limit > 0) { rooms = rooms .Skip((page - 1) * limit) .Take(limit); } var roomDtos = _mapper.Map <IList <RoomInfoDto> >(rooms); foreach (RoomInfoDto roomInfo in roomDtos) { roomInfo.OnlineClientAmount = RoomHub.GetOnlineGroupUsersAmount(roomInfo.Id); } return(Ok(new { rooms = roomDtos, size })); }
private static object CreateMyHub(IUnityContainer p) { var myHub = new RoomHub(p.Resolve <IRoomManager>()); return(myHub); }