//recupera un perfil con un email public async void recuperaPerfil() { if (vistaPerfil.password.Text != "") { Uri url = new Uri("http://www.dual-link.es/webservice/dlink/login "); objetoslistas.logininput paquete = new objetoslistas.logininput(); paquete.user = vistaPerfil.emailrecov.Text; paquete.password = vistaPerfil.password.Text; string respuesta = await metodosJson.jsonPOST(url, paquete); var respuestajson = JsonConvert.DeserializeObject <objetoslistas.loginoutput>(respuesta.ToString()); if (respuestajson.error == "") { IsolatedStorageSettings.ApplicationSettings["userID"] = respuestajson.userID; IsolatedStorageSettings.ApplicationSettings["timestamp"] = 1000000000000; IsolatedStorageSettings.ApplicationSettings.Save(); } VModel.Profile perfil = vperfil.GetSavedProfile(); perfil = await vperfil.GetDownloadedProfile(false); vistaPerfil.DataContext = perfil; vistaPreferencias.DataContext = perfil; if (perfil.isValidMail == true) { vistaPerfil.validaremail.Content = "email valido"; vistaPerfil.validaremail.IsEnabled = false; } vperfil.StoreProfile(perfil); } }
//comprueba si la id del dispositivo esta registrada en la bd public async void checkdevice() { objetoslistas.checkdeviceidinput paquete = new objetoslistas.checkdeviceidinput(); Uri url = new Uri("http://produccion.rl2012alc.com/api/index.php/checkDeviceID"); string paqueteprueba = JsonConvert.SerializeObject(paquete); string respuesta = await metodosJson.jsonPOST(url, paquete); var respuestajson = JsonConvert.DeserializeObject <objetoslistas.checkdeviceidoutput>(respuesta.ToString()); if (respuestajson.error == "") { if (respuestajson.perfil == null) { //la id no esta registrada, asi que se queda a la espera de que el usuario elija sexo y pulse al boton } else { //la id esta registrada, si ha llegado a este paso es porque no tiene el userID almacenado pero la uuid si lo esta, //asi que almacenara todos los datos que de el perfil estandar VModel.Profile perfil = new VModel.Profile(respuestajson.perfil, respuestajson.perfil.preferences); vperfil.StoreProfile(perfil); (Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); } } else { MessageBoxResult result = MessageBox.Show(respuestajson.error, "ERROR", MessageBoxButton.OK); } }
//manda una peticion para recibir una id de usuario al pulsar el boton, si se ha seleccionado sexo private async void create_Tap(object sender, System.Windows.Input.GestureEventArgs e) { try { Uri url = new Uri("http://preproduccion.rl2012alc.com/api/index.php/createProfile"); objetoslistas.createprofileinput paquete = new objetoslistas.createprofileinput(); paquete.sexo = isMen; string respuesta = await metodosJson.jsonPOST(url, paquete); var respuestajson = JsonConvert.DeserializeObject <objetoslistas.createprofileoutput>(respuesta.ToString()); if (respuestajson.error == "") { objetoslistas.Profile perfilprovisional = new objetoslistas.Profile(); perfilprovisional.preferences = new objetoslistas.Preferences(); perfilprovisional.nickName = Microsoft.Phone.Info.DeviceStatus.DeviceName; perfilprovisional.mail = "email"; perfilprovisional.phone = "telefono"; perfilprovisional.preferences.likesMen = true; perfilprovisional.preferences.likesWomen = true; perfilprovisional.preferences.minAge = 18; perfilprovisional.preferences.maxAge = 99; perfilprovisional.preferences.placeTypes = new int[9]; for (int i = 0; i < 9; i++) { perfilprovisional.preferences.placeTypes[i] = i + 1; } perfilprovisional.userID = respuestajson.userID; perfilprovisional.lastUpdate = respuestajson.timestamp; perfilprovisional.isMen = isMen; VModel.Profile perfil = new VModel.Profile(perfilprovisional, perfilprovisional.preferences); vperfil.StoreProfile(perfil); (Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); } else { MessageBoxResult result = MessageBox.Show(respuestajson.error, "ERROR", MessageBoxButton.OK); } } catch (Exception) { MessageBox.Show(AppResources.nosexo, AppResources.nosexocab, MessageBoxButton.OK); } }
//METODOS DEL PERFIL //pide los datos del perfil y los almacena, despues pide que se rellene el pivot perfil public async void peticionperfil() { VModel.Profile perfil = vperfil.GetSavedProfile(); vistaPerfil.DataContext = perfil;; vistaPreferencias.DataContext = perfil; prog.IsVisible = true; prog.Text = "Obteniendo perfil"; perfil = await vperfil.GetDownloadedProfile(false); vistaPerfil.DataContext = perfil; vistaPreferencias.DataContext = perfil; if (perfil.isValidMail == true) { vistaPerfil.validaremail.Content = "email valido"; vistaPerfil.validaremail.IsEnabled = false; } vperfil.StoreProfile(perfil); prog.IsVisible = false; }