public override async Task <PreferenceModel> UpdatePreference(UpdatePreferenceRequest request, ServerCallContext context) { Preference preference = _mapper.Map <Preference>(request.Preference); bool isExist = await _preferenceRepository.Get(x => x.Id == request.Preference.Id).AnyAsync(); if (!isExist) { throw new RpcException(new Status(StatusCode.NotFound, $"Preference with ID={preference.Id} is not found.")); } try { _preferenceRepository.Update(preference); await _preferenceRepository.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } PreferenceModel preferenceModel = _mapper.Map <PreferenceModel>(preference); return(preferenceModel); }
/// <summary> /// updates the project preference for user /// </summary> /// <param name="model"></param> /// <param name="userName"></param> /// <returns></returns> public virtual async Task <UpdatePreferencesResponse> UpdatePreferencesAsync(UpdatePreferenceRequest model, string userName) { var uri = BaseUri.Append($"project/{Project}/preference/{userName}"); var body = ModelSerializer.Serialize <UpdatePreferenceRequest>(model); var response = await _httpClient.PutAsync(uri, new StringContent(body, Encoding.UTF8, "application/json")).ConfigureAwait(false); response.VerifySuccessStatusCode(); return(ModelSerializer.Deserialize <UpdatePreferencesResponse>(await response.Content.ReadAsStringAsync().ConfigureAwait(false))); }