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); } }
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()); }
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)); }