示例#1
0
        async void ModifyClicked(object sender, System.EventArgs e)
        {
            var answer = await DisplayAlert("Guanajoven", "¿Deseas modificar tu perfil?", "Sí", "No");

            if (!answer)
            {
            }
            else
            {
                DatosUsuario user      = new DatosUsuario();
                var          localuser = PropertiesManager.GetUserInfo();
                user.api_token = localuser.data.api_token;
                if (pickernivelestudios.SelectedIndex != 0)
                {
                    user.id_nivel_estudios = pickernivelestudios.SelectedIndex;
                }

                if (pickersocial.SelectedIndex != 0 || pickersocial.SelectedIndex != 2)
                {
                    user.proyectos_sociales       = inputSocial.Text;
                    user.apoyo_proyectos_sociales = 1;
                }

                if (pickerawards.SelectedIndex != 0 || pickerawards.SelectedIndex != 2)
                {
                    user.premios = inputMention.Text;
                }
                if (pickerhandicap.SelectedIndex != 0 || pickerhandicap.SelectedIndex != 2)
                {
                    user.id_capacidad_diferente = pickerPhysic.SelectedIndex;
                }

                if (pickerpopulation.SelectedIndex != 0 || pickerpopulation.SelectedIndex != 2)
                {
                    user.id_pueblo_indigena = pickerEtnia.SelectedIndex;
                }

                if (pickerjob.SelectedIndex != 0 || pickerjob.SelectedIndex != 2)
                {
                    user.trabaja = pickerjob.SelectedIndex;
                }

                if (pickerbeneficiario.SelectedIndex != 0 || pickerbeneficiario.SelectedIndex != 2)
                {
                    user.id_programa_beneficiario = pickerEstado.SelectedIndex;
                }

                if (HelperIdioma.InfioIdiomas.Count > 0)
                {
                    user.idiomas = new List <IdiomaAdicional>();
                    foreach (var idioma in HelperIdioma.InfioIdiomas)
                    {
                        var IdiomaAdicional = new IdiomaAdicional()
                        {
                            id_datos_usuario    = (int)idioma.Value.id_datos_usuario,
                            id_idioma_adicional = idioma.Value.id_idioma_adicional,
                            lectura             = idioma.Value.lectura,
                            escritura           = idioma.Value.escritura,
                            conversacion        = idioma.Value.conversacion
                        };
                        user.idiomas.Add(IdiomaAdicional);
                    }
                }


                try
                {
                    user.ruta_imagen = "data:image/jpeg;base64," + Convert.ToBase64String(bytes);
                }
                catch (Exception ex)
                {
                    HttpClient client = new HttpClient();
                    client.MaxResponseContentBufferSize = 256000;
                    Stream stream = await client.GetStreamAsync(url);

                    var xy       = stream;
                    var y        = GetImageStreamAsBytes(xy);
                    var imageurl = "data:image/jpeg;base64," + Convert.ToBase64String(y);
                    user.ruta_imagen = imageurl;
                }

                CheckConnection();
                ShowProgress("Validando");

                var response = await ClientGuanajoven.updateProfile(user);

                var updateAct = await ClientGuanajoven.getProfile(user.api_token);

                var updated = JsonConvert.DeserializeObject <DataUserResponse>(updateAct);
                var pivot   = PropertiesManager.GetUserInfo();
                pivot.data.datos_usuario.ruta_imagen = updated.data.ruta_imagen;
                PropertiesManager.SaveUserInfo(pivot);
                MessagingCenter.Send <ProfilePage>(this, "Hi");

                if (ValidateResponseRegister(response))
                {
                    await Task.Delay(600);
                    await DisplayAlert("Guanajoven", "Datos Guardados con exito", "Aceptar");
                }

                HideProgress();
            }
        }