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;
            }
        }
Пример #3
0
        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");
            }
        }
Пример #4
0
 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);
     }
 }