private async Task <PersonView> CallServerToGetData() { Log.Error("ProfileActivity", "task started"); PersonView person = null; await Task.Run(async() => { try { string res = await WebServices.WebServices.Get($"{Constants.PublicServerAddress}/api/myProfile", Utils.GetDefaults("Token")); if (res != null) { Log.Error("ProfileActivity", res); person = parseResultFromUrl(res); if (person != null && person.ListOfPersonalDiseases != null) { await ProfileStorage.GetInstance().saveDiseases(person.ListOfPersonalDiseases); } } else { Log.Error("ProfileActivity", "nu se poate conecta la server"); } } catch (Exception e) { Log.Error("ProfileActivity Err", e.Message); } }); return(person); }
protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data) { if (requestCode == 1) { if (resultCode == Result.Ok) { var dialog = new ProgressBarDialog("Asteptati", "Se incarca datele...", this, false); dialog.Show(); Log.Error("ProfileActivity", "birthdate: get string extra " + data.GetStringExtra("birthdate")); personalData = await ProfileStorage.GetInstance().read(); await RefreshAdapter(); if (await CallServerToSendData(personalData.Base64Image, personalData.ImageName, data.GetStringExtra("name"), data.GetStringExtra("birthdate"), data.GetStringExtra("gender"), personalData.listOfPersonalDiseases)) { LoadModelInView(Utils.GetDefaults("Avatar"), data.GetStringExtra("name"), Utils.GetDefaults("Email"), data.GetStringExtra("gender"), data.GetStringExtra("birthdate"), true); Utils.SetDefaults("Name", data.GetStringExtra("name")); } else { Toast.MakeText(this, "S-a intampinat o eroare la salvarea datelor.", ToastLength.Long).Show(); } RunOnUiThread(() => dialog.Dismiss()); } if (resultCode == Result.Canceled) { Log.Error("ProfileActivity", "cancel update"); } } }
public async void LoadModel(bool updated) { var dialog = new ProgressBarDialog("Asteptati", "Se incarca datele...", this, false); dialog.Show(); PersonView person = await CallServerToGetData(); var adapter = new DiseasesAdapter(this); if (person != null) { LoadModelInView(person.Avatar, person.Name, person.Email, person.Gender, person.Birthdate, updated); adapter = new DiseasesAdapter(this, person.ListOfPersonalDiseases); } else { personalData = await ProfileStorage.GetInstance().read(); if (personalData == null) { Log.Error("ProfileActivity", "data from db is null"); Toast.MakeText(this, "Nu există date despre profilul dumneavoastră. Incercați să vă reautentificați.", ToastLength.Long); } else { LoadModelInView(Utils.GetDefaults("Avatar"), Utils.GetDefaults("Name"), Utils.GetDefaults("Email"), personalData.Gender, personalData.DateOfBirth, updated); adapter = new DiseasesAdapter(this, personalData.listOfPersonalDiseases); } } FindViewById <TextView>(Resource.Id.tv_empty).Visibility = adapter.ItemCount == 0 ? ViewStates.Visible : ViewStates.Gone; rv.SetAdapter(adapter); adapter.NotifyDataSetChanged(); RunOnUiThread(() => dialog.Dismiss()); }
private async Task SaveProfileData(PersonalData pd) { try { var data = new PersonalData( pd.listOfPersonalDiseases, pd.Base64Image, pd.DateOfBirth, pd.Gender, pd.ImageName, pd.ImageExtension ); ProfileStorage.GetInstance().personalData = data; if (!(await ProfileStorage.GetInstance().save())) { Log.Error("UpdateProfileActivity", "Error saving profile data .."); } } catch (Exception e) { Log.Error("UpdateProfileActivity ERR", e.Message); } }
private async Task SaveProfileData() { var personalData = new PersonalData( listOfPersonalDiseases, FragmentContext._firstSetupModel.Base64Image, FragmentContext._firstSetupModel.DateOfBirth, FragmentContext._firstSetupModel.Gender, FragmentContext._firstSetupModel.ImageName, FragmentContext._firstSetupModel.ImageExtension ); if (!(await ProfileStorage.GetInstance().clearDb())) { Log.Error("FirstSetup", "Error clearing profile data .."); } else { ProfileStorage.GetInstance().personalData = personalData; if (!(await ProfileStorage.GetInstance().save())) { Log.Error("FirstSetup", "Error saving profile data .."); } } }
public async void LoadModel() { var dialog = new ProgressBarDialog("Asteptati", "Se incarca datele...", this, false); dialog.Show(); try { Log.Error("UpdateProfileActivity ERR load model", "load picture"); Glide.With(this) .Load(personView.Avatar) .Apply(RequestOptions.SignatureOf(new ObjectKey(ProfileActivity.ImageUpdated))) .Into(ciwProfileImage); etName.Text = personView.Name; SetGender(personView.Gender); birthdate = getDateString(personView.Birthdate); personView.Birthdate = getDateString(personView.Birthdate); tvBirthDate.Text = personView.Birthdate; Log.Error("UpdateProfileActivity ERR load model", "start getting diseases"); personalData = await ProfileStorage.GetInstance().read(); Log.Error("UpdateProfileActivity ERR load model", "after read data from db"); if (personalData == null) { Log.Error("UpdateProfileActivity ERR load model", "something went wrong"); Toast.MakeText(this, "S-a intampinat o eroare.", ToastLength.Long).Show(); // return; } else { Log.Error("UpdateProfileActivity ERR load model", " else "); if (personalData.listOfPersonalDiseases == null) { Log.Error("UpdateProfileActivity ERR load model", "list is null"); personalData.listOfPersonalDiseases = new List <PersonalDisease>(); } Log.Error("UpdateProfileActivity ERR load model", "set disease count to TV " + personalData.listOfPersonalDiseases.Count); btnLabelDiseases.Text = "Afecțiuni curente:" + personalData.listOfPersonalDiseases.Count; } if (int.Parse(Utils.GetDefaults("UserType")) == 2) { FindViewById <ImageView>(Resource.Id.iw_icon).Visibility = ViewStates.Gone; FindViewById <TextView>(Resource.Id.tv_labelDiseases).Visibility = ViewStates.Gone; FindViewById <AppCompatButton>(Resource.Id.btn_diseases).Visibility = ViewStates.Gone; } RunOnUiThread(() => dialog.Dismiss()); } catch (Exception e) { Log.Error("UpdateProfileActivity ERR 1", e.Message); RunOnUiThread(() => dialog.Dismiss()); } }