using System.Collections.ObjectModel; namespace LOC.Core.Tokens.Client { using System; using System.Collections.Generic; using Model.Account; using Model.Sales; using Model.Server.PvpServer; public class ClientToken { public ClientToken() { } public ClientToken(Account account) { AccountId = account.AccountId; FilterChat = account.FilterChat; Name = account.Name; Rank = account.Rank.Name; EconomyBalance = account.EconomyBalance; FishTokens = new List(); if (account.FishCatches != null) { foreach (var fishCatch in account.FishCatches) { FishTokens.Add(new FishToken(fishCatch)); } } AccountToken = new AccountToken(account); DonorToken = new DonorToken { Gems = account.Gems, Donated = account.Donated, SalesPackages = new List(), UnknownSalesPackages = new List(), CustomBuilds = new List(), Pets = new List(), PetNameTagCount = account.PetNameTagCount }; if (account.Clan != null) { ClanToken = new ClientClanToken { Name = account.Clan.Name, Role = account.ClanRole.Name }; } if (account.IgnoredPlayers == null) account.IgnoredPlayers = new List(); IgnoredPlayers = account.IgnoredPlayers; if (account.PvpTransactions == null) account.PvpTransactions = new List(); foreach (var transaction in account.PvpTransactions) { DonorToken.SalesPackages.Add(transaction.GameSalesPackageId); } if (account.AccountTransactions == null) account.AccountTransactions = new List(); foreach (var transaction in account.AccountTransactions) { DonorToken.UnknownSalesPackages.Add(transaction.SalesPackageName); } if (account.CustomBuilds == null) account.CustomBuilds = new List(); foreach (var customBuild in account.CustomBuilds) { DonorToken.CustomBuilds.Add(new CustomBuildToken(customBuild)); } if (account.Pets == null) account.Pets = new List(); foreach (var pet in account.Pets) { DonorToken.Pets.Add(new PetToken { PetType = pet.PetType, PetName = pet.PetName }); } if (account.Punishments == null) account.Punishments = new List(); Punishments = account.Punishments; } public int AccountId { get; set; } public bool FilterChat { get; set; } public string Name { get; set; } public string Rank { get; set; } public int EconomyBalance { get; set; } public List Punishments { get; set; } public List FishTokens; public List IgnoredPlayers { get; set; } public AccountToken AccountToken; public DonorToken DonorToken; public ClientClanToken ClanToken; } }