public async Task <GetUserProfileByIdResponse> GetProfileById(GetUserProfileByIdRequest user) { string url = $"/users/user-profile-by-id"; var requestBody = await Task.Run(() => JsonConvert.SerializeObject(user)); using (HttpClient httpClient = new HttpClient()) { GetUserProfileByIdResponse data = new GetUserProfileByIdResponse(); try { var authHeader = new AuthenticationHeaderValue("Bearer", await SecureStorage.GetAsync("auth_token")); httpClient.DefaultRequestHeaders.Authorization = authHeader; httpClient.BaseAddress = new Uri(Constants.BaseUrl); StringContent content = new StringContent(requestBody, Encoding.UTF8, "application/json"); HttpResponseMessage result = await httpClient.PostAsync(url, content); string response = await result.Content.ReadAsStringAsync(); data = JsonConvert.DeserializeObject <GetUserProfileByIdResponse>(response); if (result.IsSuccessStatusCode && result.StatusCode == HttpStatusCode.OK) { return(data); } return(null); } catch (Exception exp) { return(null); } } }
public async Task <GetUserProfileByIdResponse> GetProfileById(GetUserProfileByIdRequest item) { IsBusy = true; try { var res = await userProfileAPI.GetProfileById(item); if (res != null) { if (res.Code == 0) { return(res); } else { return(null); } } return(null); } catch (Exception ex) { throw; } finally { IsBusy = false; } }
async Task GetUser(GetUserProfileByIdRequest user) { var res = await userProfileViewModel.GetProfileById(user); if (res != null) { if (res.Code == 0) { userInfo = res.Data; UserName.Text = res.Data.basicInfo.displayName; JoinedDate.Text = Convert.ToDateTime(res.Data.userInfo.joinedDate).ToString("yyyy-MM-dd"); ContactNumber.Text = res.Data.basicInfo.mobileNumber; UserLevel.Text = res.Data.basicInfo.level != null?res.Data.basicInfo.level.ToString() : "0"; Items = res.Data.itemsWithRating; if (!IsAnotherUser) { foreach (var item in Items) { item.item.isIconsVisible = true; } } else { foreach (var item in Items) { item.item.isIconsVisible = false; } } LoadItems(); } else { await DisplayAlert("Message", "Couldn't retrieve user profile details. Please try again.", null, "OK"); } } else { await DisplayAlert("Message", "Couldn't retrieve user profile details. Please try again.", null, "OK"); } }
async Task LoadUser() { if (IsAnotherUser) { EditProfileButton.IsVisible = false; GetUserProfileByIdRequest reqObj = new GetUserProfileByIdRequest() { userId = UserId.ToString() }; _ = GetUser(reqObj); } else { EditProfileButton.IsVisible = true; GetUserProfileByIdRequest reqObj = new GetUserProfileByIdRequest() { userId = OperationData.userId.ToString() }; _ = GetUser(reqObj); } }