public async Task <RealmCreateResponse> CreateRealm(ClaimsPrincipal claim, RealmCreateRequest request) { var response = new RealmCreateResponse(); var user = await _userService.GetCurrentUser(claim); var userId = user == null ? string.Empty : user.Id; if (string.IsNullOrEmpty(userId)) { response.ErrorMessages.Add("You are not authorised to perform this action."); return(response); } if (string.IsNullOrEmpty(request.Name)) { response.ErrorMessages.Add("Name is required."); return(response); } var realm = _mapper.Map <Realm>(request); realm.ApplicationUserId = user.Id; realm.Code = await ValidateAndSetRealmCode(realm); _realmDataService.SetToPersist(realm); await _realmDataService.SaveAsync(); response.Data = _mapper.Map <RealmItemViewModel>(realm); return(response); }
public async Task <Realm> CreateRealmAsync(Guid correlationRefId, RealmCreateRequest realm, CancellationToken cancellationToken = default) { HttpResponseMessage httpResponse = await SendAsJsonAsync( method : HttpMethod.Post, pathAndQuery : $"api/v1/realm", correlationRefId : correlationRefId, request : realm, requestHeaders : null, cancellationToken).ConfigureAwait(false); string responseJson = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); var response = JsonConvert.DeserializeObject <SmartResponse <Realm> >(responseJson); if (httpResponse.IsSuccessStatusCode) { return(response.Data); } throw new Exception($"Create Realm failed. {response.Error.Message}"); }
public async Task <RealmCreateResponse> Create(RealmCreateRequest request) { return(await _realmService.CreateRealm(User, request)); }