Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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");
                }
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 5
0
            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());
            }
        }