public static void LoadChatRooms() { using (var mySqlClient = SqlDatabaseManager.GetClient()) { var data = (DataTable)mySqlClient.ExecuteQueryTable("SELECT * FROM chat_rooms"); foreach (DataRow row in data.Rows) { int id = Convert.ToInt32(row["Id"]); string name = Convert.ToString(row["Name"]); int tabOrder = Convert.ToInt32(row["TabOrder"]); int companyId = Convert.ToInt32(row["CompanyId"]); var chat = new Chat.Room(id, name, tabOrder, companyId); Chat.Room.Rooms.Add(chat.Id, chat); } } }
public static RoomNameChanged AddRoomNameChangedEventHandler <T>( this RoomWatcher <T> rw, Action <Chat.Room> callback) where T : IWebSocket { callback.ThrowIfNull(nameof(callback)); var eventProcessor = new RoomNameChanged(); eventProcessor.OnEvent += () => { var room = new Chat.Room(rw.Host, rw.RoomId, rw.Auth); callback(room); }; rw.EventRouter.AddProcessor(eventProcessor); return(eventProcessor); }
public static UserInvitedToRoom AddUserInvitedToRoomEventHandler <T>( this RoomWatcher <T> rw, Action <Chat.User, Chat.User, Chat.Room> callback) where T : IWebSocket { callback.ThrowIfNull(nameof(callback)); var eventProcessor = new UserInvitedToRoom(); eventProcessor.OnEvent += ri => { Chat.User inviter = null; Chat.User invitee = null; Chat.Room room = null; var tasks = new[] { Task.Run(() => { inviter = new Chat.User(rw.Host, ri.Inviter, rw.Auth); }), Task.Run(() => { invitee = new Chat.User(rw.Host, ri.Invitee, rw.Auth); }), Task.Run(() => { room = new Chat.Room(rw.Host, ri.Room, rw.Auth); }) }; Task.WaitAll(tasks); callback(inviter, invitee, room); }; rw.EventRouter.AddProcessor(eventProcessor); return(eventProcessor); }