/// <summary>
        /// 创建或者更新用户声明
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <IActionResult> OnPostCreateOrUpdateUserClaimAsync(ApplicationIdentityUserClaim claim)
        {
            if (!TryValidateModel(claim))
            {
                return(BadRequest(ModelState));
            }

            var result = await userService.CreateOrUpdateUserClaimAsync(claim).ConfigureAwait(false);

            if (result.Succeeded)
            {
                return(new OkResult());
            }

            ModelState.AddModelError(string.Empty, result.ErrorMessage);
            return(BadRequest(ModelState));
        }
Пример #2
0
        /// <summary>
        /// 创建或者更新用户声明
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <Result> CreateOrUpdateUserClaimAsync(ApplicationIdentityUserClaim claim)
        {
            if (claim.Id == 0)
            {
                await applicationDbContext.UserClaims.AddAsync(claim).ConfigureAwait(false);
            }
            else
            {
                applicationDbContext.UserClaims.Update(claim);
            }
            try
            {
                await applicationDbContext.SaveChangesAsync().ConfigureAwait(false);

                return(OkResult());
            }
            catch (DbUpdateException ex)
            {
                return(FailedResult(ex));
            }
        }
        public async Task <IActionResult> CreateOrUpdateUserClaimAsync(string userId, ApplicationIdentityUserClaim claim)
        {
            if (string.IsNullOrEmpty(userId))
            {
                throw new ArgumentException($"'{nameof(userId)}' cannot be null or empty", nameof(userId));
            }

            if (claim is null)
            {
                throw new ArgumentNullException(nameof(claim));
            }

            var result = await userService.CreateOrUpdateUserClaimAsync(claim).ConfigureAwait(false);

            if (result.Succeeded)
            {
                return(Ok());
            }

            ModelState.AddModelError(string.Empty, result.ErrorMessage);
            return(BadRequest(ModelState));
        }