示例#1
0
        public async Task GetRace_Test()
        {
            uint     id     = 1;
            string   query  = $"data/wow/playable-race/{id}";
            RaceJson result = await Api.GetAsync <RaceJson>(query, Namespace.Static).ConfigureAwait(false);

            Assert.Equal(HttpStatusCode.OK, result.ResultCode);
            Assert.True(result.DirectlyCalled);
            Assert.Equal(id, result.Id);
        }
示例#2
0
 public void Load(RaceJson raceJson)
 {
     if (CheckJson(raceJson))
     {
         BlizzardId = raceJson.Id;
         Name       = raceJson.Name;
         if (raceJson.GenderNames != null)
         {
             MaleName   = raceJson.GenderNames.Male;
             FemaleName = raceJson.GenderNames.Female;
         }
         if (raceJson.Faction != null)
         {
             Faction = raceJson.Faction.Type.ParseCode <Faction>();
         }
         Selectable = raceJson.Selectable;
         AlliedRace = raceJson.AlliedRace;
     }
 }
示例#3
0
        private async Task FillRace(RaceJson raceJson)
        {
            RaceJson result = await _blizzardApiReader.GetAsync <RaceJson>($"data/wow/playable-race/{raceJson.Id}", Namespace.Static).ConfigureAwait(false);

            if (result.ResultCode != HttpStatusCode.OK)
            {
                raceJson.ResultCode = result.ResultCode;
                result = raceJson;
                await _dbManager.Log(new LogEvent
                {
                    Message     = "Unabled to reach BlizzardAPI",
                    Description = $"Return code {result.ResultCode}",
                    Collection  = "Race",
                    BlizzardId  = raceJson.Id,
                    Severity    = LogLevel.Warning
                }).ConfigureAwait(false);
            }
            await _dbManager.Insert(new Race(result)).ConfigureAwait(false);
        }
示例#4
0
 public Race(RaceJson raceJson) : this()
 {
     Load(raceJson);
 }