public int AddOrUpdateClaim(AddClaimModel addClaimModel)
        {
            var URL     = string.Format(AppSettings.BaseApiUrl + ApiUrls.ClaimApiURL.INSERT);
            var Content = Post <int>(URL, addClaimModel);

            if (Content.IsSuccessful)
            {
                return(Content.Model);
            }
            else
            {
                return(0);
            }
        }
Exemple #2
0
        public async Task <IHttpActionResult> AddClaim([FromBody] AddClaimModel model)
        {
            if (model.UserId == null)
            {
                return(NotFound());
            }
            var user = await _userStore.FindByIdAsync(model.UserId);

            if (user == null)
            {
                return(NotFound());
            }
            var claims = (await _userStore.GetClaimsAsync(user)).Where(x => x.Type == model.Type).ToList();

            if (claims.Any())
            {
                throw new ArgumentException("Claim already exists.");
            }
            await _userStore.AddClaimAsync(user, new Claim(model.Type, model.Value));

            return(Ok());
        }
Exemple #3
0
        public async Task <IActionResult> AddClaim([FromRoute] string id, [FromBody] AddClaimModel model)
        {
            if (!ValidModelState(out var error))
            {
                return(error);
            }

            var user = await _userService.FindByIdAsync(id);

            if (user?.Data == null)
            {
                return(NotFound());
            }

            var claim = new Claim(model.Type, model.Value, model.ValueType ?? ClaimValueTypes.String);

            var result = await _userService.AddClaimAsync(user.Data, claim);

            return(result.Succeeded
                ? Created($"/api/users/{user.Data}/claims", claim)
                : (IActionResult)BadRequest(result.Errors));
        }