public async Task <IActionResult> Edit(ApiResourceClaimViewModel vm)
        {
            if (vm == null)
            {
                return(BadRequest());
            }

            if (ModelState.IsValid)
            {
                var obj = await _dbContext.Set <ApiResourceClaim>().FindAsync(vm.Id);

                if (obj == null)
                {
                    return(NotFound());
                }

                obj.Type = vm.Type;
                try
                {
                    await _dbContext.SaveChangesAsync();

                    _logger.LogInformation($"API resource claim Id {obj.Id} updated by {User?.Identity?.Name}.");
                    return(RedirectToAction("Edit", "ApiResources", new { id = vm.ApiResourceId }));
                }
                catch (DbException ex)
                {
                    _logger.LogError(ex.GetBaseException()?.Message ?? ex.Message);
                    throw;
                }
            }
            return(View(vm));
        }
        public IActionResult Create(int apiResourceId)
        {
            var vm = new ApiResourceClaimViewModel {
                ApiResourceId = apiResourceId
            };

            return(View(vm));
        }
Пример #3
0
        public List <ApiResourceClaimViewModel> List()
        {
            var claims = new List <ApiResourceClaimViewModel>();
            var fields = typeof(JwtClaimTypes).GetFields(BindingFlags.Static | BindingFlags.Public);

            foreach (var fieldInfo in fields)
            {
                var claim = new ApiResourceClaimViewModel
                {
                    Name = fieldInfo.Name.AddSpaceBeforeUppercase(),
                    Type = fieldInfo.GetValue(null).ToString()
                };
                claims.Add(claim);
            }
            return(claims);
        }