/// <summary> /// Initiliazes all the chatrooms based on the <see cref="Dictionary{TKey, TValue}"/> parameter. /// </summary> public void InitializeChatrooms(Dictionary <int, Chatroom> rooms) { foreach (var item in rooms) { Chatroom room = item.Value; if (!Chatrooms.ContainsKey(room.ID)) { Chatrooms.Add(room.ID, room); ChatroomsList.Add(room); } } List <Chatroom> toRemove = new List <Chatroom>(); foreach (var item in Chatrooms) { if (!item.Value.IsPrivate && !rooms.ContainsKey(item.Key)) { toRemove.Add(item.Value); } } foreach (var item in toRemove) { Chatrooms.Remove(item.ID); ChatroomsList.Remove(item); } OnChatroomsChanged(new EventArgs()); }
private static void AddRooms() { try { chatmanager = new DatabaseManager(30, 10, DatabaseType.MySQL); chatmanager.setServerDetails(Setting["server"], uint.Parse(Setting["mport"]), Setting["username"], "", "chatserver"); chatmanager.init(); } catch (Exception e) { Out.WriteLine("Error: " + e.Message, "MySQL", ConsoleColor.Red); Console.ReadKey(); Environment.Exit(0); } try { manager = new DatabaseManager(30, 10, DatabaseType.MySQL); manager.setServerDetails(Setting["server"], uint.Parse(Setting["mport"]), Setting["username"], "", "aurora"); manager.init(); } catch (Exception e) { Out.WriteLine("Error: " + e.Message, "MySQL", ConsoleColor.Red); Console.ReadKey(); Environment.Exit(0); } using (var dbClient = chatmanager.getQueryreactor()) { var data = (DataTable)dbClient.query("SELECT * FROM chatrooms"); foreach (DataRow row in data.Rows) { var chat = new Chatroom { Index = Convert.ToInt32(row[0]), Name = row[1].ToString(), Id = Convert.ToInt32(row[2]) }; Chatrooms.Add(chat.Id, chat); } var mmo = new Chatroom { Index = Convert.ToInt32(1), Name = "MMO", Id = Convert.ToInt32(22) }; var vru = new Chatroom { Index = Convert.ToInt32(1), Name = "VRU", Id = Convert.ToInt32(253) }; var eic = new Chatroom { Index = Convert.ToInt32(1), Name = "EIC", Id = Convert.ToInt32(252) }; } Out.WriteLine("" + Chatrooms.Count + " Chat rooms are loaded."); }
/// <summary> /// Adds a private chatroom to the chatroom mananger. /// </summary> public void AddPrivateRoom(Chatroom room) { room.IsPrivate = true; Chatrooms.Add(room.ID, room); ChatroomsList.Add(room); OnChatroomsChanged(new EventArgs()); }
/// <summary> /// Createsand returns a <see cref="Chatroom"/> based on the name, description and password. /// </summary> public Chatroom CreateChatRoom(string name, string desc, string pass, ConnectionCore connection) { Chatroom chatRoom = new Chatroom(LastRoomId++, name, desc, pass); chatRoom.Join(connection); Chatrooms.Add(chatRoom.ID, chatRoom); ServerManager.ConnectionController.SendMessage(new InitializeChatroomsComposer(Chatrooms)); return(chatRoom); }
/// <summary> /// Adds a chatroom to the <see cref="Chatrooms"/> <see cref="Dictionary{TKey, TValue}"/>. /// </summary> public void AddChatroom(Chatroom chatroom) { Chatrooms.Add(chatroom.ID, chatroom); }