Exemplo n.º 1
0
        public async Task <Ability> LoadAbilityByIdAsync(int id, int versionGroup, int language, CancellationToken token)
        {
            try
            {
                string query = Queries.AbilityQuery(id, versionGroup, language);
                IEnumerable <DbAbility> abilities = await _connection.QueryAsync <DbAbility>(token, query, new object[0]).ConfigureAwait(false);

                DbAbility ability = abilities.Single();

                var result = new Ability
                {
                    Id         = ability.Id,
                    IngameText = ability.FlavorText,
                    Name       = ability.Name
                };
                result.ShortDescription = await ProzessPlaceholderText(ability.ShortEffect, language, token);

                result.Description = await ProzessPlaceholderText(ability.Effect, language, token);

                result.VersionChangelog = await ProzessPlaceholderText(ability.EffectChange, language, token);

                return(result);
            }
            catch (Exception)
            {
                return(null);
            }
        }