public async Task InitGuild(string realmSlug, string guildSlug) { List <Task> DropTasks = new List <Task> { _dbManager.Drop <Guild>(), _dbManager.Drop <Character>() }; await Task.WhenAll(DropTasks).ConfigureAwait(false); Guild guild = new Guild { Slug = guildSlug, RealmSlug = realmSlug }; GuildJson guildJson = await _blizzardApiReader.GetAsync <GuildJson>($"data/wow/guild/{realmSlug}/{guildSlug}", Namespace.Profile).ConfigureAwait(false); guild.Load(guildJson); GuildAchievementsJson guildAchievementsJson = await _blizzardApiReader.GetAsync <GuildAchievementsJson>($"data/wow/guild/{realmSlug}/{guildSlug}/achievements", Namespace.Profile).ConfigureAwait(false); guild.Load(guildAchievementsJson); GuildRosterJson guildRosterJson = await _blizzardApiReader.GetAsync <GuildRosterJson>($"data/wow/guild/{realmSlug}/{guildSlug}/roster", Namespace.Profile).ConfigureAwait(false); if (guildRosterJson != null) { await FillRoster(guildRosterJson).ConfigureAwait(false); } guild.Load(guildRosterJson); await _dbManager.Insert(guild).ConfigureAwait(false); }
public void Load(GuildJson guildJson) { if (CheckJson(guildJson)) { BlizzardId = guildJson.Id; Name = guildJson.Name; Crest = new GuildCrest(guildJson.Crest); Faction = guildJson.Faction.Type.ParseCode <Faction>(); CreationDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds(guildJson.CreationTimestamp); } }
public Guild(GuildJson guildJson, GuildAchievementsJson guildAchievementsJson, GuildRosterJson guildRosterJson) : this() { Load(guildJson); Load(guildAchievementsJson); Load(guildRosterJson); }