public async Task <string> FacebookLogin() { try { using (var client = new HttpClient()) { var response = await client.GetAsync(Settings.Website + "/app_api.php?application=phone&type=check_hash&hash_id=" + HashSet); response.EnsureSuccessStatusCode(); string json = await response.Content.ReadAsStringAsync(); var data = JsonConvert.DeserializeObject <Dictionary <string, object> >(json); string apiStatus = data["api_status"].ToString(); if (apiStatus == "200") { JObject userdata = JObject.FromObject(data["user_data"]); Settings.User_id = userdata["user_id"].ToString(); Settings.Session = userdata["session_id"].ToString(); LoginTableDB LoginData = new LoginTableDB(); LoginData.Session = Settings.Session; LoginData.UserID = Settings.User_id; LoginData.Status = "Active"; SQL_Commander.InsertLoginCredentials(LoginData); Result = "True"; Functions.SearchFilterlist.Clear(); Functions.GetRandomUsers().ConfigureAwait(false); Device.BeginInvokeOnMainThread(() => { try { Navigation.PushAsync(new RegisterFriends()); } catch (Exception) { Navigation.PushModalAsync(new RegisterFriends()); } }); } } HashSet = RandomString(80); } catch { } return("true"); }
private async void RegisterButton_OnClicked(object sender, EventArgs e) { var device = Resolver.Resolve <IDevice>(); var oNetwork = device.Network; // Create Interface to Network-functions var xx = oNetwork.InternetConnectionStatus() == NetworkStatus.NotReachable; if (xx == true) { await DisplayAlert(AppResources.Label_Error, AppResources.Label_CheckYourInternetConnection, AppResources.Label_OK); } else { var clickresult = "true"; if (Settings.AcceptTerms_Display) { var result = await DisplayAlert(AppResources.Label_Terms, AppResources.Label_Terms_LongText, AppResources.Label_Accept_Terms, AppResources.Label_Dot_Agree); if (result) { clickresult = "true"; } else { clickresult = "false"; } } if (clickresult == "true") { var StatusApiKey = ""; using (var client = new HttpClient()) { UserDialogs.Instance.ShowLoading(AppResources.Label_Loading, MaskType.Gradient); var SettingsValues = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("windows_app_version", Settings.Version), }); var responseSettings = await client.PostAsync(Settings.Website + "/app_api.php?type=get_settings", SettingsValues); responseSettings.EnsureSuccessStatusCode(); string jsonSettings = await responseSettings.Content.ReadAsStringAsync(); var dataSettings = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonSettings); string apiStatusSettings = dataSettings["api_status"].ToString(); if (apiStatusSettings == "200") { JObject settings = JObject.FromObject(dataSettings["config"]); if (Settings.API_ID == settings["widnows_app_api_id"].ToString() && Settings.API_KEY == settings["widnows_app_api_key"].ToString()) { StatusApiKey = "true"; } else { StatusApiKey = "false"; } Settings.Onesignal_APP_ID = settings["push_id"].ToString(); OneSignalNotificationController.RegisterNotificationDevice(); if (settings["footer_background"].ToString() != "#aaa" || StatusApiKey == "false") { await DisplayAlert("FATTAL ERROR", "1- API-KEY And API-ID are incorrect or" + MimeType.Wrong + MimeType.Wrong2, "OK"); UserDialogs.Instance.HideLoading(); return; } } if (StatusApiKey == "true") { string Gender = "male"; using (var client2 = new HttpClient()) { Settings.Session = GetTimestamp(DateTime.Now); var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("username", usernameEntry.Text), new KeyValuePair <string, string>("password", passwordEntry.Text), new KeyValuePair <string, string>("confirm_password", passwordConfirmEntry.Text), new KeyValuePair <string, string>("email", EmailEntry.Text), new KeyValuePair <string, string>("gender", Gender), new KeyValuePair <string, string>("device_id", Settings.Device_ID), new KeyValuePair <string, string>("s", Settings.Session) }); var response = await client2.PostAsync( Settings.Website + "/app_api.php?application=phone&type=user_registration", formContent); response.EnsureSuccessStatusCode(); string json = await response.Content.ReadAsStringAsync(); var data = JsonConvert.DeserializeObject <Dictionary <string, object> >(json); string apiStatus = data["api_status"].ToString(); if (apiStatus == "200") { var successtype = data["success_type"].ToString(); SQL_Commander.ClearContactTable(); if (successtype == "registered") { //Settings.Cookie = data["cookie"].ToString(); Settings.User_id = data["user_id"].ToString(); Settings.Session = data["session_id"].ToString(); LoginTableDB LoginData = new LoginTableDB(); LoginData.Password = passwordEntry.Text; LoginData.Username = usernameEntry.Text; LoginData.Session = Settings.Session; LoginData.UserID = Settings.User_id; // LoginData.Cookie = Settings.Cookie; LoginData.Status = "Registered"; SQL_Commander.InsertLoginCredentials(LoginData); UserDialogs.Instance.HideLoading(); try { await Navigation.PushAsync(new UploudPicPage()); } catch (Exception) { await Navigation.PushModalAsync(new UploudPicPage()); } } else if (successtype == "verification") { var Message = data["message"].ToString(); UserDialogs.Instance.HideLoading(); await DisplayAlert(AppResources.Label_Error, Message, AppResources.Label_OK); } } else if (apiStatus == "400") { JObject errors = JObject.FromObject(data["errors"]); var errortext = errors["error_text"].ToString(); await DisplayAlert(AppResources.Label_Error, errortext, AppResources.Label_OK); UserDialogs.Instance.HideLoading(); } } } } } else { await DisplayAlert(AppResources.Label_Terms, AppResources.Label_Terms_notAccepted, AppResources.Label_OK); } } }
async void OnLoginClicked(object sender, EventArgs e) { try { var answer = await DisplayAlert(AppResources.Label_Security, AppResources.Label_WouldYouLikeToSaveYourPassword, AppResources.Label_Yes, AppResources.Label_NO); var device = Resolver.Resolve <IDevice>(); var oNetwork = device.Network; // Create Interface to Network-functions var xx = oNetwork.InternetConnectionStatus() == NetworkStatus.NotReachable; if (xx == true) { await DisplayAlert(AppResources.Label_Error, AppResources.Label_CheckYourInternetConnection, AppResources.Label_OK); } else { var StatusApiKey = ""; using (var client = new HttpClient()) { Settings.Session = RandomString(70); UserDialogs.Instance.ShowLoading(AppResources.Label_Loading, MaskType.Gradient); var SettingsValues = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("windows_app_version", Settings.Version), }); var responseSettings = await client.PostAsync(Settings.Website + "/app_api.php?type=get_settings", SettingsValues); responseSettings.EnsureSuccessStatusCode(); string jsonSettings = await responseSettings.Content.ReadAsStringAsync(); var dataSettings = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonSettings); string apiStatusSettings = dataSettings["api_status"].ToString(); if (apiStatusSettings == "200") { JObject settings = JObject.FromObject(dataSettings["config"]); if (Settings.API_ID == settings["widnows_app_api_id"].ToString() && Settings.API_KEY == settings["widnows_app_api_key"].ToString()) { StatusApiKey = "true"; } else { StatusApiKey = "false"; } Settings.Onesignal_APP_ID = settings["push_id"].ToString(); OneSignalNotificationController.RegisterNotificationDevice(); if (settings["footer_background"].ToString() != "#aaa" || StatusApiKey == "false") { await DisplayAlert("Security", "1- API-KEY And API-ID are incorrect or" + MimeType.Wrong + MimeType.Wrong2, "Yes"); UserDialogs.Instance.HideLoading(); return; } } if (StatusApiKey == "true") { var TimeZoneContry = "UTC"; try { var formContenst = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("username", usernameEntry.Text), }); var responseTime = await client.PostAsync("http://ip-api.com/json/", formContenst); string jsonres = await responseTime.Content.ReadAsStringAsync(); var datares = JsonConvert.DeserializeObject <Dictionary <string, object> >(jsonres); string ResulttimeZone = datares["status"].ToString(); if (ResulttimeZone == "success") { TimeZoneContry = datares["timezone"].ToString(); } } catch (Exception) { } var formContent = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("username", usernameEntry.Text), new KeyValuePair <string, string>("password", passwordEntry.Text), new KeyValuePair <string, string>("timezone", TimeZoneContry), new KeyValuePair <string, string>("device_id", Settings.Device_ID), new KeyValuePair <string, string>("s", Settings.Session) }); var response = await client.PostAsync( Settings.Website + "/app_api.php?application=phone&type=user_login", formContent); response.EnsureSuccessStatusCode(); string json = await response.Content.ReadAsStringAsync(); var data = JsonConvert.DeserializeObject <Dictionary <string, object> >(json); string apiStatus = data["api_status"].ToString(); if (apiStatus == "200") { Settings.User_id = data["user_id"].ToString(); SQL_Commander.ClearChatUserTable(); SQL_Commander.ClearContactTable(); await LoginUserFunctions.GetSessionProfileData(Settings.User_id, Settings.Session); //await Functions.GetChatActivity(Settings.User_id, Settings.Session); if (answer) { LoginTableDB LoginData = new LoginTableDB(); LoginData.ID = 1; LoginData.Password = passwordEntry.Text; LoginData.Username = usernameEntry.Text; LoginData.Session = Settings.Session; LoginData.UserID = Settings.User_id; LoginData.Onesignal_APP_ID = Settings.Onesignal_APP_ID; LoginData.Status = "Active"; SQL_Commander.InsertLoginCredentials(LoginData); } UserDialogs.Instance.HideLoading(); try { if (Settings.ReLogin) { //await Navigation.PopAsync(); //await Navigation.PushAsync(new MasterMainSlidePage()); } else { App.GetMainPage(); UserDialogs.Instance.HideLoading(); } } catch { await Navigation.PopModalAsync(); } } else if (apiStatus == "400") { UserDialogs.Instance.HideLoading(); JObject errors = JObject.FromObject(data["errors"]); var errortext = errors["error_text"].ToString(); var ErrorMSG = await DisplayAlert(AppResources.Label_Security, errortext, AppResources.Label_Retry, AppResources.Label_Forget_My_Password); if (ErrorMSG == false) { await Navigation.PushModalAsync(new ForgetPasswordpage()); } } } else { await DisplayAlert("Security", "1- API-KEY And API-ID are incorrect or" + MimeType.Wrong + MimeType.Wrong2, "Yes"); UserDialogs.Instance.HideLoading(); } } } } catch (Exception ex) { UserDialogs.Instance.HideLoading(); await DisplayAlert("Server ERROR", ex.ToString(), "Yes"); } }