using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Blizzard { class UsersData { internal int Id; internal string UserName; internal string RealName; internal string ConnectionTicket; internal string Look; internal string Gender; internal string LastAccess; internal string Motto; internal int Rank; internal string RankName; internal int Credits; internal int Pixels; internal bool IsOnline; internal bool InRoom; internal int MaxRooms; internal int AchievementPoints; internal string Achievements; internal string RoomFavourites; internal string QuestCompleted; internal int HomeRoom; public static List UsersRegistered; public static Dictionary UsersRegister; public static void GetAllUsers() { UsersRegistered = new List(); UsersRegister = new Dictionary(); DataRow Users = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users"); foreach (DataRow Row in Users.Table.Rows) { UsersData Us = new UsersData(); Us.Id = (int)Row["id"]; Us.UserName = (string)Row["username"]; Us.RealName = (string)Row["name"]; Us.ConnectionTicket = (string)Row["ssoTicket"]; Us.LastAccess = (string)Row["lastaccess"]; Us.Motto = (string)Row["motto"]; Us.Gender = Row["gender"].ToString(); Us.Look = (string)Row["figure"]; Us.Rank = int.Parse(Row["rank"].ToString()); if (Us.Rank == 0) Us.RankName = "Baneado/a"; else if (Us.Rank == 1) Us.RankName = "Usuario/a"; else if (Us.Rank == 2) Us.RankName = "Visita VIP"; else if (Us.Rank == 3) Us.RankName = "Lince"; else if (Us.Rank == 4) Us.RankName = "Moderador/a en Pruebas"; else if (Us.Rank == 5) Us.RankName = "Moderador/a"; else if (Us.Rank == 6) Us.RankName = "Moderador/a Experto/a"; else if (Us.Rank == 7) Us.RankName = "Administrador/a"; else if (Us.Rank == 8) Us.RankName = "Hotel Manager"; else if (Us.Rank == 9) Us.RankName = "Fundador/a"; Us.Credits = (int)Row["credits"]; Us.Pixels = (int)Row["pixels"]; Us.MaxRooms = (int)Row["maxrooms"]; Us.AchievementPoints = (int)Row["achievementpoints"]; Us.Achievements = (string)Row["achievements"]; Us.RoomFavourites = (string)Row["roomfavourites"]; Us.QuestCompleted = (string)Row["questcompleted"]; Us.HomeRoom = (int)Row["roomhome"]; Us.IsOnline = false; Us.InRoom = false; UsersRegister.Add(Us.Id, Us); UsersRegistered.Add(Us); } BlizzardSystem.WriteLine("@Server >> Added " + Users.Table.Rows.Count + " users to the static system"); } public static UsersData GetDataFromName(string UserName) { foreach (UsersData U in UsersData.UsersRegistered) { if (U.UserName == UserName) return U; else continue; } return null; } } class SubscriptionsData { internal int Id; internal string SubscriptionId; internal int UserId; internal int ExpireTime; internal int InitialTime; internal int Gifts; internal int Days; public static List Subscriptions; public static void InitSubscriptions() { Subscriptions = new List(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users_subscriptions"); foreach (DataRow Row in Data.Table.Rows) { SubscriptionsData S = new SubscriptionsData(); S.Id = (int)Row["id"]; S.UserId = (int)Row["userid"]; S.SubscriptionId = (string)Row["subscription_id"]; S.InitialTime = (int)Row["sub_activated"]; S.ExpireTime = (int)Row["sub_finished"]; S.Gifts = (int)Row["usedgifts"]; S.Days = (int)Row["useddays"]; Subscriptions.Add(S); } BlizzardSystem.WriteLine("@Server [Users] >> Added " + Subscriptions.Count + " subscriptions"); } } class GiftData { internal int Id; internal string Name; internal string Type; internal int SpriteId; internal bool IsVIP; internal int Days; public static List Gifts; public static void InitGifts() { Gifts = new List(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM club_gifts"); foreach (DataRow Row in Data.Table.Rows) { GiftData G = new GiftData(); G.Id = (int)Row["id"]; G.Name = (string)Row["name"]; G.Type = Row["type"].ToString(); G.SpriteId = (int)Row["spriteid"]; G.IsVIP = BlizzardSystem.ConvertEnumToBool(Row["is_vip"].ToString()); G.Days = (int)Row["days"]; Gifts.Add(G); } BlizzardSystem.WriteLine("@Server [Users] >> Added " + Gifts.Count + " gifts to subscriptions"); } } class WordFilter { internal string Word; public static List Filter; public static void InitFilter() { Filter = new List(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM wordfilter"); foreach (DataRow Row in Data.Table.Rows) { WordFilter W = new WordFilter(); W.Word = (string)Row["word"]; Filter.Add(W); } } } class BadgesData { internal int Id; internal int UserId; internal string BadgeId; internal int BadgeSlot; public static List Badges; public static int GetLastId() { int i = 0; foreach (BadgesData U in Badges) { if (U.Id > i) i = U.Id; else continue; } return i; } public static List SelectBadgesForUser(int UserId) { List L = new List(); foreach (BadgesData B in Badges) { if (B.UserId == UserId) L.Add(B); else continue; } return L; } public static void ResetSlots(int UserId) { List Ba = SelectBadgesForUser(UserId); foreach (BadgesData B in Ba) B.BadgeSlot = 0; } public static void UpdateBadgeSlot(int UserId, string BadgeId, int Slot) { foreach (BadgesData B in Badges) { if (B.UserId == UserId && B.BadgeId == BadgeId) B.BadgeSlot = Slot; else continue; } } public static void InitBadges() { Badges = new List(); DataRow R = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users_badges"); foreach (DataRow Row in R.Table.Rows) { BadgesData B = new BadgesData(); B.Id = (int)Row["id"]; B.UserId = (int)Row["userid"]; B.BadgeId = (string)Row["badgeid"]; B.BadgeSlot = (int)Row["badgeslot"]; Badges.Add(B); } } } class WardrobeData { internal int UserId; internal int Pos; internal string Look; internal string Gender; public static List Wardrobe; public static void InitWardrobe() { Wardrobe = new List(); DataRow Data = BlizzardSystem.MySQL.ReadDataRow("SELECT * FROM users_wardrobe"); foreach (DataRow Row in Data.Table.Rows) { WardrobeData W = new WardrobeData(); W.UserId = (int)Row["userid"]; W.Pos = (int)Row["pos"]; W.Look = (string)Row["look"]; W.Gender = Row["gender"].ToString(); Wardrobe.Add(W); } } public static List GetWardrobeForUser(int UserId) { List War = new List(); foreach (WardrobeData W in Wardrobe) { if (W.UserId == UserId) War.Add(W); else continue; } return War; } public static bool HasWardrobePos(int UserId, int Pos) { foreach (WardrobeData W in Wardrobe) { if (W.UserId == UserId && W.Pos == Pos) return true; else continue; } return false; } public static WardrobeData GetWardrobePos(int UserId, int Pos) { foreach (WardrobeData W in Wardrobe) { if (W.UserId == UserId && W.Pos == Pos) return W; else continue; } return null; } } }