using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Blizzard { class FriendsData { public static Dictionary AllFriends; internal Dictionary Friends; // Request; // MyID, FriendID internal Dictionary Categorys; // ID, Name public static void InitConsole() { AllFriends = new Dictionary(); MyFriends.Start(); MyCategorys.Start(); foreach (UsersData User in UsersData.UsersRegistered) { FriendsData F = new FriendsData(); F.Friends = new Dictionary(); F.Request = new Dictionary(); F.Categorys = new Dictionary(); F.Friends.Clear(); F.Request.Clear(); F.Categorys.Clear(); List Frs = MyFriends.FriendsForUser(User.Id); foreach (MyFriends sF in Frs) { if (!sF.IsRequest) F.Friends.Add(sF.FriendId, sF.CategoryId); else F.Request.Add(sF.UserId, sF.FriendId); } List Cat = MyCategorys.CategoriesForId(User.Id); foreach (MyCategorys C in Cat) { F.Categorys.Add(C.Id, C.Name); } AllFriends.Add(User.Id, F); } BlizzardSystem.WriteLine("@Server >> Friends added correctly"); } } class MyFriends { internal int UserId; internal int FriendId; internal int CategoryId; internal bool IsRequest; public static List MFriends; public static void Start() { MFriends = new List(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users_friends"); foreach (DataRow Row in Data.Table.Rows) { MyFriends F = new MyFriends(); F.UserId = (int)Row["userid"]; F.FriendId = (int)Row["friendid"]; F.CategoryId = (int)Row["categoryid"]; F.IsRequest = BlizzardSystem.ConvertEnumToBool(Row["is_request"].ToString()); MFriends.Add(F); } } public static List FriendsForUser(int UserId) { List L = new List(); foreach (MyFriends F in MFriends) { if (F.UserId == UserId) L.Add(F); } return L; } } class MyCategorys { internal int Id; internal int UserId; internal string Name; public static List Categorys; public static void Start() { Categorys = new List(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users_categorys"); foreach (DataRow Row in Data.Table.Rows) { MyCategorys M = new MyCategorys(); M.Id = (int)Row["id"]; M.UserId = (int)Row["userid"]; M.Name = (string)Row["name"]; Categorys.Add(M); } } public static List CategoriesForId(int UserId) { List Cat = new List(); foreach (MyCategorys C in Categorys) { if (C.UserId == UserId) Cat.Add(C); } return Cat; } } }