public async Task <IHttpActionResult> AddRoom([FromBody] AddRoomViewModel addRoomViewModel) { Room room = new Room() { ColorRoom = "blue", StickerRoom = "like", PathAvatar = "", NameRoom = "" }; ApplicationUser user = context.Users.Find(addRoomViewModel.UserCreate); if (user == null) { return(BadRequest()); } context.Rooms.Add(room); foreach (var item in addRoomViewModel.ListUserId) { var u = context.Users.Find(item); if (u != null) { UserJoinRoom userJoinRoom = new UserJoinRoom() { Room = room, User = u, UserId = item }; context.UserJoinRooms.Add(userJoinRoom); } } await context.SaveChangesAsync(); return(Ok()); }
public async Task <IHttpActionResult> RemoveUserFromRoom([FromBody] UserRoomViewModel model) { UserJoinRoom userJoinRoom = context.UserJoinRooms.Where(t => t.UserId == model.UserId && t.Room.Id == model.IdRoom).First(); if (userJoinRoom != null) { context.UserJoinRooms.Remove(userJoinRoom); } await context.SaveChangesAsync(); return(Ok()); }
private void Receive(string data) { try { string[] vars = data.Split('|'); int opcode = int.Parse(vars[0]); ClientPacket receivePacket = null; switch (opcode) { case 1: receivePacket = new AuthenticateUserTicket(); break; case 2: receivePacket = new UserJoinRoom(); break; case 3: receivePacket = new UserClickTile(); break; case 4: receivePacket = new UserPendingPlayers(); break; case 5: receivePacket = new InteractItem(); break; case 6: receivePacket = new RequestNavigatorRoom(); break; case 7: receivePacket = new ComposeInventoryRequest(); break; case 8: receivePacket = new InventoryPoseItem(); break; case 9: receivePacket = new InventoryPoseItemOnTile(); break; case 10: receivePacket = new PickItem(); break; } if (receivePacket != null) { receivePacket.Client = this; receivePacket.data = vars; new Thread(receivePacket.ExecuteAllThePacket).Start(); } else if (ConfigManager.GetBool("connection.missing.packet")) { Logger.Warn($"Received unknown packet. [{data}]"); } } catch (Exception e) { Logger.Error("Error received data from GC => " + e.ToString()); } }
public IHttpActionResult AddUserToRoom([FromBody] RoomViewModel model) { var joinExist = context.UserJoinRooms.FirstOrDefault(t => t.UserId.Equals(model.IdUser) && t.RoomId == model.IdRoom); var user = context.Users.Find(model.IdUser); if (joinExist == null && user != null) { var userJoinRoom = new UserJoinRoom() { UserId = model.IdUser, RoomId = model.IdRoom, NickName = user.FullName, LastInterractive = DateTime.Now }; context.UserJoinRooms.Add(userJoinRoom); context.SaveChanges(); } return(Ok()); }