コード例 #1
0
        //[ResponseCache(Duration = 5000)]
        public async Task <IActionResult> GetLevelLearnedSpellsAsync([FromServices] ILevelLearnedSpellRepository levelLearnedSpellRepository,
                                                                     [FromServices] ITypeConverterProvider <SpellLevelLearned, SpellLevelLearnedDefinition> converter)
        {
            SpellLevelLearned[] levelLearneds = await levelLearnedSpellRepository.RetrieveAllAsync();

            return(Json(CreatedSpellLevelLearnedCollectionResponse(levelLearneds, converter)));
        }
コード例 #2
0
        //[ResponseCache(Duration = 5000)]
        public async Task <IActionResult> GetLevelLearnedSpellsForClassAndLevelAsync([FromRoute(Name = "class")] EntityPlayerClassType classType, [FromRoute] int level, [FromServices] ILevelLearnedSpellRepository levelLearnedSpellRepository,
                                                                                     [FromServices] ITypeConverterProvider <SpellLevelLearned, SpellLevelLearnedDefinition> converter)
        {
            if (!Enum.IsDefined(typeof(EntityPlayerClassType), classType))
            {
                throw new InvalidEnumArgumentException(nameof(classType), (int)classType, typeof(EntityPlayerClassType));
            }
            if (level < 0)
            {
                return(Json(new SpellLevelLearnedCollectionResponseModel(Array.Empty <SpellLevelLearnedDefinition>())));
            }

            SpellLevelLearned[] levelLearneds = await levelLearnedSpellRepository.RetrieveAllAsync(classType, level);

            return(Json(CreatedSpellLevelLearnedCollectionResponse(levelLearneds, converter)));
        }