using System; namespace FSO.Common.Enum { public enum Top100Category { lot_money = 1, lot_offbeat = 2, lot_romance = 3, lot_services = 4, lot_shopping = 5, lot_skills = 6, lot_welcome = 7, lot_games = 8, lot_entertainment = 9, lot_residence = 10, avatar_most_famous = 11, avatar_best_karma = 12, avatar_friendliest = 13, avatar_most_infamous = 14, avatar_meanest = 15 } public static class Top100CategoryUtils { public static bool IsAvatarCategory(this Top100Category category) { return !category.IsLotCategory(); } public static bool IsLotCategory(this Top100Category category) { switch (category) { case Top100Category.lot_money: case Top100Category.lot_offbeat: case Top100Category.lot_romance: case Top100Category.lot_services: case Top100Category.lot_shopping: case Top100Category.lot_skills: case Top100Category.lot_welcome: case Top100Category.lot_games: case Top100Category.lot_entertainment: case Top100Category.lot_residence: return true; default: return false; } } public static Top100Category FromLotCategory(LotCategory category) { switch (category) { case LotCategory.money: return Top100Category.lot_money; case LotCategory.offbeat: return Top100Category.lot_offbeat; case LotCategory.romance: return Top100Category.lot_romance; case LotCategory.services: return Top100Category.lot_services; case LotCategory.shopping: return Top100Category.lot_shopping; case LotCategory.skills: return Top100Category.lot_skills; case LotCategory.welcome: return Top100Category.lot_welcome; case LotCategory.games: return Top100Category.lot_games; case LotCategory.entertainment: return Top100Category.lot_entertainment; case LotCategory.residence: return Top100Category.lot_residence; } throw new Exception("Unknown lot category"); } public static LotCategory ToLotCategory(this Top100Category category) { switch (category) { case Top100Category.lot_money: return LotCategory.money; case Top100Category.lot_offbeat: return LotCategory.offbeat; case Top100Category.lot_romance: return LotCategory.romance; case Top100Category.lot_services: return LotCategory.services; case Top100Category.lot_shopping: return LotCategory.shopping; case Top100Category.lot_skills: return LotCategory.skills; case Top100Category.lot_welcome: return LotCategory.welcome; case Top100Category.lot_games: return LotCategory.games; case Top100Category.lot_entertainment: return LotCategory.entertainment; case Top100Category.lot_residence: return LotCategory.residence; } return LotCategory.none; } } public enum Top100CategoryType { AVATAR = 1, LOT = 2 } }