Esempio n. 1
0
        private async void RegisterButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (Chk_agree.Checked)
                {
                    if (IMethods.CheckConnectivity())
                    {
                        if (!String.IsNullOrEmpty(UsernameEditext.Text) ||
                            !String.IsNullOrEmpty(PasswordEditext.Text) ||
                            !String.IsNullOrEmpty(PasswordRepeatEditext.Text) ||
                            !String.IsNullOrEmpty(EmailEditext.Text))
                        {
                            var check = IMethods.Fun_String.IsEmailValid(EmailEditext.Text);
                            if (!check)
                            {
                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                         GetText(Resource.String.Lbl_VerificationFailed),
                                                                         GetText(Resource.String.Lbl_IsEmailValid), GetText(Resource.String.Lbl_Ok));
                            }
                            else
                            {
                                if (PasswordRepeatEditext.Text == PasswordEditext.Text)
                                {
                                    progressBar.Visibility    = ViewStates.Visible;
                                    RegisterButton.Visibility = ViewStates.Gone;

                                    var settingsResult = await Current.GetSettings();

                                    if (settingsResult.Item1 == 200)
                                    {
                                        var PushID = settingsResult.Item2.PushId.ToString();
                                        if (OneSignalNotification.OneSignalAPP_ID == "")
                                        {
                                            OneSignalNotification.OneSignalAPP_ID = PushID;
                                            if (AppSettings.ShowNotification)
                                            {
                                                OneSignalNotification.RegisterNotificationDevice();
                                            }
                                        }

                                        var(Api_status, Respond) =
                                            await WoWonder_API.Requests.RequestsAsync.Global.Get_Create_Account(
                                                UsernameEditext.Text,
                                                PasswordEditext.Text, PasswordRepeatEditext.Text, EmailEditext.Text);

                                        if (Api_status == 200)
                                        {
                                            if (Respond is CreatAccountObject result)
                                            {
                                                Current.AccessToken = result.access_token;

                                                UserDetails.Username     = UsernameEditext.Text;
                                                UserDetails.Full_name    = UsernameEditext.Text;
                                                UserDetails.Password     = PasswordEditext.Text;
                                                UserDetails.access_token = result.access_token;
                                                UserDetails.User_id      = result.user_id;
                                                UserDetails.Status       = "Active";
                                                UserDetails.Cookie       = result.access_token;
                                                UserDetails.Email        = EmailEditext.Text;

                                                //Insert user data to database
                                                var user = new DataTables.LoginTB
                                                {
                                                    UserID       = UserDetails.User_id,
                                                    access_token = UserDetails.access_token,
                                                    Cookie       = UserDetails.Cookie,
                                                    Username     = UsernameEditext.Text,
                                                    Password     = PasswordEditext.Text,
                                                    Status       = "Active",
                                                    Lang         = ""
                                                };

                                                Classes.DataUserLoginList.Add(user);

                                                var dbDatabase = new SqLiteDatabase();
                                                dbDatabase.InsertRow(user);
                                                dbDatabase.Dispose();

                                                StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                            }

                                            progressBar.Visibility    = ViewStates.Gone;
                                            RegisterButton.Visibility = ViewStates.Visible;
                                            Finish();
                                        }
                                        else if (Api_status == 220)
                                        {
                                            //var dialog = new MaterialDialog.Builder(this);

                                            //dialog.Title(GetText(Resource.String.Lbl_ActivationSent));
                                            //dialog.Content(GetText(Resource.String.Lbl_ActivationDetails)
                                            //    .Replace("@", EmailEditext.Text));
                                            //dialog.PositiveText(GetText(Resource.String.Lbl_Ok)).OnPositive(this);

                                            //dialog.AlwaysCallSingleChoiceCallback();
                                            // dialog.Build().Show();
                                            var obj = new IMethods.DialogPopup(this);

                                            var x = await obj.ShowDialog("Success",
                                                                         "Registration successful! We have sent you an email, Please check your inbox/spam to verify your email.");

                                            StartActivity(new Intent(this, typeof(MainActivity)));
                                        }
                                        else if (Api_status == 400)
                                        {
                                            var error = Respond as ErrorObject;
                                            if (error != null)
                                            {
                                                var errortext = error._errors.Error_text;

                                                var errorid = error._errors.Error_id;

                                                if (errorid == "3")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_3),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "4")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_4),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "5")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_Something_went_wrong),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "6")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_6),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "7")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_7),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "8")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_8),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "9")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_9),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "10")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_10),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else if (errorid == "11")
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security),
                                                                                             GetText(Resource.String.Lbl_ErrorRegister_11),
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                                else
                                                {
                                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                             GetText(Resource.String.Lbl_Security), errortext,
                                                                                             GetText(Resource.String.Lbl_Ok));
                                                }
                                            }

                                            progressBar.Visibility    = ViewStates.Gone;
                                            RegisterButton.Visibility = ViewStates.Visible;
                                        }
                                        else if (Api_status == 404)
                                        {
                                            progressBar.Visibility    = ViewStates.Gone;
                                            RegisterButton.Visibility = ViewStates.Visible;
                                            IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                     GetText(Resource.String.Lbl_Security),
                                                                                     GetText(Resource.String.Lbl_Error_Login),
                                                                                     GetText(Resource.String.Lbl_Ok));
                                        }
                                    }
                                }
                                else
                                {
                                    progressBar.Visibility    = ViewStates.Gone;
                                    RegisterButton.Visibility = ViewStates.Visible;

                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                             GetText(Resource.String.Lbl_Security),
                                                                             GetText(Resource.String.Lbl_Error_Register_password),
                                                                             GetText(Resource.String.Lbl_Ok));
                                }
                            }
                        }
                        else
                        {
                            progressBar.Visibility    = ViewStates.Gone;
                            RegisterButton.Visibility = ViewStates.Visible;
                            IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                     GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                        }
                    }
                    else
                    {
                        progressBar.Visibility    = ViewStates.Gone;
                        RegisterButton.Visibility = ViewStates.Visible;

                        IMethods.DialogPopup.InvokeAndShowDialog(this, this.GetText(Resource.String.Lbl_Security),
                                                                 this.GetText(Resource.String.Lbl_Error_check_internet_connection),
                                                                 this.GetText(Resource.String.Lbl_Ok));
                        return;
                    }
                }
                else
                {
                    IMethods.DialogPopup.InvokeAndShowDialog(this, this.GetText(Resource.String.Lbl_Warning),
                                                             this.GetText(Resource.String.Lbl_Error_Terms), this.GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                progressBar.Visibility    = ViewStates.Gone;
                RegisterButton.Visibility = ViewStates.Visible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, this.GetText(Resource.String.Lbl_Authentication_failed),
                                                         ex.Message, this.GetText(Resource.String.Lbl_Ok));
            }
        }
        private async void RegisterButtonOnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                if (IMethods.CheckConnectivity())
                {
                    if (!string.IsNullOrEmpty(UsernameEditext.Text) || !string.IsNullOrEmpty(PasswordEditext.Text) ||
                        !string.IsNullOrEmpty(PasswordRepeatEditext.Text) || !string.IsNullOrEmpty(EmailEditext.Text))
                    {
                        Settings st = new Settings();

                        Current.CurrentInstance.SetWebsiteURL(st.WebsiteUrl, st.ServerKey);

                        var check = IMethods.Fun_String.IsEmailValid(EmailEditext.Text);
                        if (!check)
                        {
                            IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                     GetText(Resource.String.Lbl_VerificationFailed),
                                                                     GetText(Resource.String.Lbl_IsEmailValid), GetText(Resource.String.Lbl_Ok));
                        }
                        else
                        {
                            if (PasswordRepeatEditext.Text == PasswordEditext.Text)
                            {
                                progressBar.Visibility = ViewStates.Visible;

                                var settingsResult = await Current.GetWoWonder_Settings(st, "WoWonder_Native_Android");

                                if (settingsResult != null)
                                {
                                    string PushID = "";
                                    try
                                    {
                                        PushID = settingsResult["push_id_2"].ToString();
                                    }
                                    catch (Exception e)
                                    {
                                        Console.WriteLine(e);
                                    }
                                    if (OneSignalNotification.OneSignalAPP_ID == "")
                                    {
                                        OneSignalNotification.OneSignalAPP_ID = PushID;
                                        if (Settings.ShowNotification)
                                        {
                                            OneSignalNotification.RegisterNotificationDevice();
                                        }
                                    }

                                    var(Api_status, Respond) =
                                        await Client.Global.Get_Create_Account(UsernameEditext.Text,
                                                                               PasswordEditext.Text, PasswordRepeatEditext.Text, EmailEditext.Text, UserDetails.Device_ID);

                                    if (Respond.Api_status == 220)
                                    {
                                        var obj = new IMethods.DialogPopup(this);

                                        var x = await obj.ShowDialog("Success",
                                                                     "Registration successful! We have sent you an email, Please check your inbox/spam to verify your email.");

                                        //var data = "";
                                        StartActivity(new Intent(this, typeof(First_Activity)));
                                    }
                                    else if (Api_status == 200)
                                    {
                                        if (Respond is Creat_Account_Object result)
                                        {
                                            WoWonder_API.Client.WebsiteUrl       = st.WebsiteUrl;
                                            Current.CurrentInstance.ServerKey    = st.ServerKey;
                                            Current.CurrentInstance.Access_token = result.access_token;

                                            UserDetails.Username     = UsernameEditext.Text;
                                            UserDetails.Full_name    = UsernameEditext.Text;
                                            UserDetails.Password     = PasswordEditext.Text;
                                            UserDetails.access_token = result.access_token;
                                            UserDetails.User_id      = result.user_id;
                                            UserDetails.Status       = "Active";
                                            UserDetails.Cookie       = result.access_token;
                                            UserDetails.Email        = EmailEditext.Text;

                                            //Insert user data to database
                                            var user = new DataTables.LoginTB
                                            {
                                                UserID       = UserDetails.User_id,
                                                access_token = UserDetails.access_token,
                                                Cookie       = UserDetails.Cookie,
                                                Username     = UsernameEditext.Text,
                                                Password     = PasswordEditext.Text,
                                                Status       = "Active",
                                                Lang         = "",
                                                Device_ID    = UserDetails.Device_ID,
                                            };

                                            Classes.DataUserLoginList.Add(user);

                                            var dbDatabase = new SqLiteDatabase();
                                            dbDatabase.InsertRow(user);
                                            dbDatabase.Dispose();

                                            if (Settings.Show_WalkTroutPage)
                                            {
                                                StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                            }
                                            else
                                            {
                                                StartActivity(new Intent(this, typeof(Tabbed_Main_Activity)));

                                                //Get data profile
                                                var data = API_Request.Get_MyProfileData_Api(this).ConfigureAwait(false);
                                            }
                                        }

                                        progressBar.Visibility = ViewStates.Invisible;
                                        Finish();
                                    }
                                    else if (Api_status == 400)
                                    {
                                        var error = Respond as Error_Object;
                                        if (error != null)
                                        {
                                            var errortext = error._errors.Error_text;

                                            var errorid = error._errors.Error_id;

                                            if (errorid == "3")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_3),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "4")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_4),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "5")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_something_went_wrong),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "6")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_6),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "7")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_7),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "8")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_8),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "9")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_9),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "10")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_10),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorid == "11")
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security),
                                                                                         GetText(Resource.String.Lbl_ErrorRegister_11),
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                            else
                                            {
                                                IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                         GetText(Resource.String.Lbl_Security), errortext,
                                                                                         GetText(Resource.String.Lbl_Ok));
                                            }
                                        }

                                        progressBar.Visibility = ViewStates.Invisible;
                                    }
                                    else if (Api_status == 404)
                                    {
                                        //var Error = Respond.ToString();
                                        progressBar.Visibility = ViewStates.Invisible;
                                        IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                 GetText(Resource.String.Lbl_Security),
                                                                                 GetText(Resource.String.Lbl_Error_Login), GetText(Resource.String.Lbl_Ok));
                                    }
                                }
                            }
                            else
                            {
                                progressBar.Visibility = ViewStates.Invisible;

                                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                         GetText(Resource.String.Lbl_Error_Register_password),
                                                                         GetText(Resource.String.Lbl_Ok));
                            }
                        }
                    }
                    else
                    {
                        progressBar.Visibility = ViewStates.Invisible;

                        IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                 GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                    }
                }
                else
                {
                    progressBar.Visibility = ViewStates.Invisible;
                    //IMethods.DialogPopup.Hide_Loading_Dialog(this);
                    IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                             GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception exception)
            {
                Crashes.TrackError(exception);
                progressBar.Visibility = ViewStates.Invisible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message,
                                                         GetText(Resource.String.Lbl_Ok));
            }
        }
        //Click Button Register
        private async void Btn_Register_OnClicked(object sender, EventArgs e)
        {
            try
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    await DisplayAlert(AppResources.Label_Error, AppResources.Label_Check_Your_Internet, AppResources.Label_OK);
                }
                else
                {
                    UserDialogs.Instance.ShowLoading(AppResources.Label_Please_wait, MaskType.None);

                    //API_Request.Session = Functions.RandomString(40);

                    string Gender = "male";
                    using (var client = new HttpClient())
                    {
                        var formContent = new FormUrlEncodedContent(new[]
                        {
                            new KeyValuePair <string, string>("username", Txt_Username.Text),
                            new KeyValuePair <string, string>("password", Txt_password.Text),
                            new KeyValuePair <string, string>("confirm_password", Txt_passwordConfirm.Text),
                            new KeyValuePair <string, string>("email", Txt_Email.Text),
                            new KeyValuePair <string, string>("gender", Gender),
                            //new KeyValuePair<string, string>("s", API_Request.Session)
                        });

                        var response = await client.PostAsync(API_Request.API_Register, formContent);

                        response.EnsureSuccessStatusCode();
                        var Response_json = await response.Content.ReadAsStringAsync();

                        var    data      = JsonConvert.DeserializeObject <Dictionary <string, object> >(Response_json);
                        string ApiStatus = data["api_status"].ToString();

                        if (ApiStatus == "200")
                        {
                            var successtype = data["success_type"].ToString();

                            if (successtype.Contains("registered"))
                            {
                                UserDialogs.Instance.HideLoading();

                                try
                                {
                                    API_Request.User_id = data["user_id"].ToString();
                                    API_Request.Session = data["session_id"].ToString();

                                    //Insert user data to database
                                    DataTables.LoginTB user = new DataTables.LoginTB();
                                    user.UserID   = API_Request.User_id;
                                    user.Session  = API_Request.Session;
                                    user.Username = Txt_Username.Text;
                                    user.Password = Txt_password.Text;
                                    user.Status   = "Active";

                                    Classes.DataUserLoginList.Add(user);
                                    SQL_Commander.Insert_Login_Credentials(user);

                                    //Messeges is login user
                                    Hamburg_Page.IsLogin = true;

                                    //Check User Status and Get data
                                    SQL_Commander.Get_data_Login_Credentials();
                                    var s = Classes.SeconderyListPage.FirstOrDefault(a => a.Name_page == AppResources.Label_Login);
                                    if (s != null)
                                    {
                                        s.Name_page = AppResources.Label_Logout;
                                        s.Icon_page = IoniciconsFont.LogOut;
                                    }

                                    UserDialogs.Instance.HideLoading();
                                    await Navigation.PopModalAsync(true);
                                }
                                catch (Exception exception)
                                {
                                    exception.ToString();
                                    await Navigation.PopAsync();
                                }
                            }
                            else if (successtype.Contains("verification"))
                            {
                                successtype = data["message"].ToString();

                                //await DisplayAlert("Error registered", successtype, "OK");
                                UserDialogs.Instance.ShowError(successtype);
                            }
                        }
                        else if (ApiStatus == "400")
                        {
                            JObject errors     = JObject.FromObject(data["errors"]);
                            var     error_id   = errors["error_id"].ToString();
                            var     error_text = errors["error_text"].ToString();

                            UserDialogs.Instance.HideLoading();
                            await DisplayAlert("Error", error_text, "OK");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var exception = ex.ToString();
                await DisplayAlert(AppResources.Label_Error, AppResources.Label_Session_Dead, AppResources.Label_OK);

                UserDialogs.Instance.HideLoading();
            }
        }
Esempio n. 4
0
        public async void OnCompleted(JSONObject json, GraphResponse response)
        {
            try
            {
                var data   = json.ToString();
                var result = JsonConvert.DeserializeObject <FacebookResult>(data);
                FB_email = result.email;

                var accessToken = AccessToken.CurrentAccessToken;
                if (accessToken != null)
                {
                    FB_accessToken = accessToken.Token;


                    progressBar.Visibility = ViewStates.Visible;
                    Btn_Login.Visibility   = ViewStates.Gone;

                    var(apiStatus, respond) = await WoWonder_API.Current.GetSettings();

                    if (apiStatus == 200)
                    {
                        if (respond is GetSiteSettingsObject.Config res)
                        {
                            var PushID = res.pushId;
                            if (OneSignalNotification.OneSignalAPP_ID == "")
                            {
                                OneSignalNotification.OneSignalAPP_ID = PushID;
                                if (AppSettings.ShowNotification)
                                {
                                    OneSignalNotification.RegisterNotificationDevice();
                                }
                            }

                            var(Api_status, respond2) =
                                await WoWonder_API.Requests.RequestsAsync.Global.Get_SocialLogin(FB_accessToken,
                                                                                                 "facebook");

                            if (Api_status == 200)
                            {
                                if (respond2 is AuthObject auth)
                                {
                                    Current.AccessToken = auth.access_token;

                                    UserDetails.Username     = UsernameEditext.Text;
                                    UserDetails.Full_name    = UsernameEditext.Text;
                                    UserDetails.Password     = PasswordEditext.Text;
                                    UserDetails.access_token = auth.access_token;
                                    UserDetails.User_id      = auth.user_id;
                                    UserDetails.Status       = "Active";
                                    UserDetails.Cookie       = auth.access_token;
                                    UserDetails.Email        = UsernameEditext.Text;

                                    //Insert user data to database
                                    var user = new DataTables.LoginTB()
                                    {
                                        UserID       = UserDetails.User_id,
                                        access_token = UserDetails.access_token,
                                        Cookie       = UserDetails.Cookie,
                                        Username     = UsernameEditext.Text,
                                        Password     = PasswordEditext.Text,
                                        Status       = "Active",
                                        Lang         = ""
                                    };
                                    Classes.DataUserLoginList.Add(user);

                                    var dbDatabase = new SqLiteDatabase();
                                    dbDatabase.InsertRow(user);
                                    dbDatabase.Dispose();

                                    if (AppSettings.Show_WalkTroutPage)
                                    {
                                        StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                    }
                                    else
                                    {
                                        StartActivity(new Intent(this, typeof(Tabbed_Main_Page)));

                                        //Get data profile
                                        var dataUser = API_Request.Get_MyProfileData_Api(this).ConfigureAwait(false);
                                    }

                                    progressBar.Visibility = ViewStates.Gone;
                                    Btn_Login.Visibility   = ViewStates.Visible;
                                    Finish();
                                }
                            }
                            else if (Api_status == 400)
                            {
                                if (respond is ErrorObject error)
                                {
                                    var errortext = error._errors.Error_text;


                                    if (errortext.Contains("Invalid or expired access_token"))
                                    {
                                        API_Request.Logout(this);
                                    }
                                }
                            }
                            else if (Api_status == 404)
                            {
                                var error = respond.ToString();
                            }

                            progressBar.Visibility = ViewStates.Gone;
                            Btn_Login.Visibility   = ViewStates.Visible;
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                progressBar.Visibility = ViewStates.Gone;
                Btn_Login.Visibility   = ViewStates.Visible;

                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message,
                                                         GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
Esempio n. 5
0
        public async void SetContentGoogle(GoogleSignInAccount acct)
        {
            try
            {
                //Successful log in hooray!!
                if (acct != null)
                {
                    progressBar.Visibility = ViewStates.Visible;
                    Btn_Login.Visibility   = ViewStates.Gone;

                    G_AccountName = acct.Account.Name;
                    G_AccountType = acct.Account.Type;
                    G_displayName = acct.DisplayName;
                    G_firstName   = acct.GivenName;
                    G_lastName    = acct.FamilyName;
                    G_profileId   = acct.Id;
                    G_email       = acct.Email;
                    G_Img         = acct.PhotoUrl.Path;
                    G_Idtoken     = acct.IdToken;
                    G_ServerCode  = acct.ServerAuthCode;

                    var api = new GoogleAPI();
                    G_accessToken = await api.GetAccessTokenAsync(G_ServerCode);

                    if (!string.IsNullOrEmpty(G_accessToken))
                    {
                        var(apiStatus, settingsResult) = await WoWonder_API.Current.GetSettings();

                        if (apiStatus == 200)
                        {
                            if (settingsResult is GetSiteSettingsObject.Config res)
                            {
                                var PushID = res.pushId;

                                if (OneSignalNotification.OneSignalAPP_ID == "")
                                {
                                    OneSignalNotification.OneSignalAPP_ID = PushID;
                                    if (AppSettings.ShowNotification)
                                    {
                                        OneSignalNotification.RegisterNotificationDevice();
                                    }
                                }

                                string key = IMethods.IApp.GetValueFromManifest(this, "com.google.android.geo.API_KEY");
                                var(Api_status, respond) =
                                    await Global.Get_SocialLogin(G_accessToken, "google", key);

                                if (Api_status == 200)
                                {
                                    if (respond is AuthObject auth)
                                    {
                                        Current.AccessToken = auth.access_token;

                                        UserDetails.Username     = UsernameEditext.Text;
                                        UserDetails.Full_name    = UsernameEditext.Text;
                                        UserDetails.Password     = PasswordEditext.Text;
                                        UserDetails.access_token = auth.access_token;
                                        UserDetails.User_id      = auth.user_id;
                                        UserDetails.Status       = "Active";
                                        UserDetails.Cookie       = auth.access_token;
                                        UserDetails.Email        = UsernameEditext.Text;

                                        //Insert user data to database
                                        var user = new DataTables.LoginTB()
                                        {
                                            UserID       = UserDetails.User_id,
                                            access_token = UserDetails.access_token,
                                            Cookie       = UserDetails.Cookie,
                                            Username     = UsernameEditext.Text,
                                            Password     = PasswordEditext.Text,
                                            Status       = "Active",
                                            Lang         = ""
                                        };
                                        Classes.DataUserLoginList.Add(user);

                                        var dbDatabase = new SqLiteDatabase();
                                        dbDatabase.InsertRow(user);
                                        dbDatabase.Dispose();

                                        if (AppSettings.Show_WalkTroutPage)
                                        {
                                            StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                        }
                                        else
                                        {
                                            StartActivity(new Intent(this, typeof(Tabbed_Main_Page)));

                                            //Get data profile
                                            var data = API_Request.Get_MyProfileData_Api(this).ConfigureAwait(false);
                                        }

                                        Finish();
                                    }
                                }
                                else if (Api_status == 400)
                                {
                                    if (respond is ErrorObject error)
                                    {
                                        var errortext = error._errors.Error_text;


                                        if (errortext.Contains("Invalid or expired access_token"))
                                        {
                                            API_Request.Logout(this);
                                        }
                                    }
                                }
                                else if (Api_status == 404)
                                {
                                    var error = respond.ToString();
                                }

                                progressBar.Visibility = ViewStates.Gone;
                                Btn_Login.Visibility   = ViewStates.Visible;
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                progressBar.Visibility = ViewStates.Gone;
                Btn_Login.Visibility   = ViewStates.Visible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message,
                                                         GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
Esempio n. 6
0
        private async void ButtonClickOnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                if (!IMethods.CheckConnectivity())
                {
                    IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                             GetText(Resource.String.Lbl_Error_check_internet_connection), GetText(Resource.String.Lbl_Ok));
                }
                else
                {
                    if (!string.IsNullOrEmpty(UsernameEditext.Text) || !string.IsNullOrEmpty(PasswordEditext.Text))
                    {
                        progressBar.Visibility = ViewStates.Visible;
                        Btn_Login.Visibility   = ViewStates.Gone;

                        var(apiStatus, response) = await WoWonder_API.Current.GetSettings();

                        if (apiStatus == 200)
                        {
                            if (response is GetSiteSettingsObject.Config result)
                            {
                                var PushID = result.pushId.ToString();
                                if (OneSignalNotification.OneSignalAPP_ID == "")
                                {
                                    OneSignalNotification.OneSignalAPP_ID = PushID;
                                    if (AppSettings.ShowNotification)
                                    {
                                        OneSignalNotification.RegisterNotificationDevice();
                                    }
                                }

                                string timeZone = IMethods.ITime.GetTimeZone();
                                var(Api_status, Respond) = await Global.Get_Auth(UsernameEditext.Text, PasswordEditext.Text, "UTC");

                                if (Api_status == 200)
                                {
                                    if (Respond is AuthObject auth)
                                    {
                                        Current.AccessToken = auth.access_token;

                                        UserDetails.Username     = UsernameEditext.Text;
                                        UserDetails.Full_name    = UsernameEditext.Text;
                                        UserDetails.Password     = PasswordEditext.Text;
                                        UserDetails.access_token = auth.access_token;
                                        UserDetails.User_id      = auth.user_id;
                                        UserDetails.Status       = "Active";
                                        UserDetails.Cookie       = auth.access_token;
                                        UserDetails.Email        = UsernameEditext.Text;

                                        //Insert user data to database
                                        var user = new DataTables.LoginTB()
                                        {
                                            UserID       = UserDetails.User_id,
                                            access_token = UserDetails.access_token,
                                            Cookie       = UserDetails.Cookie,
                                            Username     = UsernameEditext.Text,
                                            Password     = PasswordEditext.Text,
                                            Status       = "Active",
                                            Lang         = ""
                                        };
                                        Classes.DataUserLoginList.Add(user);

                                        var dbDatabase = new SqLiteDatabase();
                                        dbDatabase.InsertRow(user);
                                        dbDatabase.Dispose();

                                        if (AppSettings.Show_WalkTroutPage)
                                        {
                                            StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                        }
                                        else
                                        {
                                            StartActivity(new Intent(this, typeof(Tabbed_Main_Page)));

                                            //Get data profile
                                            var data = API_Request.Get_MyProfileData_Api(this).ConfigureAwait(false);
                                        }

                                        progressBar.Visibility = ViewStates.Gone;
                                        Finish();
                                    }
                                }
                                else if (Api_status == 400)
                                {
                                    var error = Respond as ErrorObject;
                                    if (error != null)
                                    {
                                        var errortext = error._errors.Error_text;
                                        var errorid   = error._errors.Error_id;

                                        if (errorid == "3")
                                        {
                                            IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                     GetText(Resource.String.Lbl_Security),
                                                                                     GetText(Resource.String.Lbl_ErrorLogin_3), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "4")
                                        {
                                            IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                     GetText(Resource.String.Lbl_Security),
                                                                                     GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "5")
                                        {
                                            IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                     GetText(Resource.String.Lbl_Security),
                                                                                     GetText(Resource.String.Lbl_ErrorLogin_5), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else
                                        {
                                            IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                     GetText(Resource.String.Lbl_Security), errortext,
                                                                                     GetText(Resource.String.Lbl_Ok));
                                        }
                                    }
                                }


                                progressBar.Visibility = ViewStates.Gone;
                                Btn_Login.Visibility   = ViewStates.Visible;
                            }
                        }
                        else if (apiStatus == 400)
                        {
                            var error = response as ErrorObject;
                            if (error != null)
                            {
                                var errortext = error._errors.Error_text;
                                var errorid   = error._errors.Error_id;

                                if (errorid == "3")
                                {
                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                             GetText(Resource.String.Lbl_Security),
                                                                             GetText(Resource.String.Lbl_ErrorLogin_3), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorid == "4")
                                {
                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                             GetText(Resource.String.Lbl_Security),
                                                                             GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorid == "5")
                                {
                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                             GetText(Resource.String.Lbl_Security),
                                                                             GetText(Resource.String.Lbl_ErrorLogin_5), GetText(Resource.String.Lbl_Ok));
                                }
                                else
                                {
                                    IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                             GetText(Resource.String.Lbl_Security), errortext,
                                                                             GetText(Resource.String.Lbl_Ok));
                                }
                            }
                        }
                        else if (apiStatus == 404)
                        {
                            //var Error = Respond.ToString();
                            IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                     GetText(Resource.String.Lbl_Error_Login), GetText(Resource.String.Lbl_Ok));
                        }
                    }
                    else
                    {
                        progressBar.Visibility = ViewStates.Gone;
                        Btn_Login.Visibility   = ViewStates.Visible;
                        IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                 GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                    }
                }
            }
            catch (Exception exception)
            {
                progressBar.Visibility = ViewStates.Gone;
                Btn_Login.Visibility   = ViewStates.Visible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message,
                                                         GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
Esempio n. 7
0
        public async void SetContentGoogle(GoogleSignInAccount acct)
        {
            try
            {
                //Successful log in hooray!!
                if (acct != null)
                {
                    progressBar.Visibility       = ViewStates.Visible;
                    mButtonViewSignIn.Visibility = ViewStates.Gone;

                    G_AccountName = acct.Account.Name;
                    G_AccountType = acct.Account.Type;
                    G_displayName = acct.DisplayName;
                    G_firstName   = acct.GivenName;
                    G_lastName    = acct.FamilyName;
                    G_profileId   = acct.Id;
                    G_email       = acct.Email;
                    G_Img         = acct.PhotoUrl.Path;
                    G_Idtoken     = acct.IdToken;
                    G_ServerCode  = acct.ServerAuthCode;

                    var api = new GoogleAPI();
                    G_accessToken = await api.GetAccessTokenAsync(G_ServerCode);

                    if (!string.IsNullOrEmpty(G_accessToken))
                    {
                        Current.CurrentInstance.SetWebsiteURL(st.WebsiteUrl, st.ServerKey);

                        var settingsResult = await Current.GetWoWonder_Settings(st, "WoWonder_Native_Android");

                        if (settingsResult != null)
                        {
                            string PushID = "";
                            try
                            {
                                PushID = settingsResult["push_id_2"].ToString();
                            }
                            catch (Exception e)
                            {
                                Console.WriteLine(e);
                            }
                            if (OneSignalNotification.OneSignalAPP_ID == "")
                            {
                                OneSignalNotification.OneSignalAPP_ID = PushID;
                                if (Settings.ShowNotification)
                                {
                                    OneSignalNotification.RegisterNotificationDevice();
                                }
                            }

                            string key = IMethods.IApp.GetValueFromManifest(this, "com.google.android.geo.API_KEY");
                            var(Api_status, respond) = await Client.Global.Get_SocialLogin(st, G_accessToken, "google", key);

                            if (Api_status == 200)
                            {
                                if (respond is Auth_Object auth)
                                {
                                    WoWonder_API.Client.WebsiteUrl       = st.WebsiteUrl;
                                    Current.CurrentInstance.ServerKey    = st.ServerKey;
                                    Current.CurrentInstance.Access_token = auth.access_token;

                                    UserDetails.Username     = mEditTextEmail.Text;
                                    UserDetails.Full_name    = mEditTextEmail.Text;
                                    UserDetails.Password     = mEditTextPassword.Text;
                                    UserDetails.access_token = auth.access_token;
                                    UserDetails.User_id      = auth.user_id;
                                    UserDetails.Status       = "Active";
                                    UserDetails.Cookie       = auth.access_token;
                                    UserDetails.Email        = mEditTextEmail.Text;

                                    //Insert user data to database
                                    var user = new DataTables.LoginTB
                                    {
                                        UserID       = UserDetails.User_id,
                                        access_token = UserDetails.access_token,
                                        Cookie       = UserDetails.Cookie,
                                        Username     = mEditTextEmail.Text,
                                        Password     = mEditTextPassword.Text,
                                        Status       = "Active",
                                        Lang         = "",
                                        Device_ID    = UserDetails.Device_ID,
                                    };
                                    Classes.DataUserLoginList.Add(user);

                                    var dbDatabase = new SqLiteDatabase();
                                    dbDatabase.InsertRow(user);
                                    dbDatabase.Dispose();

                                    StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                }
                            }
                            else if (Api_status == 400)
                            {
                                if (respond is Error_Object error)
                                {
                                    var errortext = error._errors.Error_text;
                                    //Toast.MakeText(this, errortext, ToastLength.Short).Show();

                                    if (errortext.Contains("Invalid or expired access_token"))
                                    {
                                        API_Request.Logout(this);
                                    }
                                }
                            }
                            else if (Api_status == 404)
                            {
                                var error = respond.ToString();
                                //Toast.MakeText(this, error, ToastLength.Short).Show();
                            }

                            progressBar.Visibility       = ViewStates.Gone;
                            mButtonViewSignIn.Visibility = ViewStates.Visible;
                            Finish();
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                progressBar.Visibility       = ViewStates.Gone;
                mButtonViewSignIn.Visibility = ViewStates.Visible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Crashes.TrackError(exception);
            }
        }
Esempio n. 8
0
        public async void OnCompleted(JSONObject json, GraphResponse response)
        {
            try
            {
                var data   = json.ToString();
                var result = JsonConvert.DeserializeObject <FacebookResult>(data);
                FB_email = result.email;

                var accessToken = AccessToken.CurrentAccessToken;
                if (accessToken != null)
                {
                    FB_accessToken = accessToken.Token;

                    Current.CurrentInstance.SetWebsiteURL(st.WebsiteUrl, st.ServerKey);

                    var settingsResult = await Current.GetWoWonder_Settings(st, "WoWonder_Native_Android");

                    if (settingsResult != null)
                    {
                        string PushID = "";
                        try
                        {
                            PushID = settingsResult["push_id_2"].ToString();
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                        }

                        if (OneSignalNotification.OneSignalAPP_ID == "")
                        {
                            OneSignalNotification.OneSignalAPP_ID = PushID;
                            if (Settings.ShowNotification)
                            {
                                OneSignalNotification.RegisterNotificationDevice();
                            }
                        }

                        var(Api_status, respond) = await Client.Global.Get_SocialLogin(st, FB_accessToken, "facebook");

                        if (Api_status == 200)
                        {
                            if (respond is Auth_Object auth)
                            {
                                WoWonder_API.Client.WebsiteUrl       = st.WebsiteUrl;
                                Current.CurrentInstance.ServerKey    = st.ServerKey;
                                Current.CurrentInstance.Access_token = auth.access_token;

                                UserDetails.Username     = mEditTextEmail.Text;
                                UserDetails.Full_name    = mEditTextEmail.Text;
                                UserDetails.Password     = mEditTextPassword.Text;
                                UserDetails.access_token = auth.access_token;
                                UserDetails.User_id      = auth.user_id;
                                UserDetails.Status       = "Active";
                                UserDetails.Cookie       = auth.access_token;
                                UserDetails.Email        = mEditTextEmail.Text;

                                //Insert user data to database
                                var user = new DataTables.LoginTB
                                {
                                    UserID       = UserDetails.User_id,
                                    access_token = UserDetails.access_token,
                                    Cookie       = UserDetails.Cookie,
                                    Username     = mEditTextEmail.Text,
                                    Password     = mEditTextPassword.Text,
                                    Status       = "Active",
                                    Lang         = "",
                                    Device_ID    = UserDetails.Device_ID,
                                };
                                Classes.DataUserLoginList.Add(user);

                                var dbDatabase = new SqLiteDatabase();
                                dbDatabase.InsertRow(user);
                                dbDatabase.Dispose();

                                StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                            }
                        }
                        else if (Api_status == 400)
                        {
                            if (respond is Error_Object error)
                            {
                                var errortext = error._errors.Error_text;
                                //Toast.MakeText(this, errortext, ToastLength.Short).Show();

                                if (errortext.Contains("Invalid or expired access_token"))
                                {
                                    API_Request.Logout(this);
                                }
                            }
                        }
                        else if (Api_status == 404)
                        {
                            var error = respond.ToString();
                            //Toast.MakeText(this, error, ToastLength.Short).Show();
                        }

                        progressBar.Visibility       = ViewStates.Gone;
                        mButtonViewSignIn.Visibility = ViewStates.Visible;
                        Finish();
                    }
                }

                //bool isLoggedIn = accessToken != null && !accessToken.IsExpired;
            }
            catch (Exception exception)
            {
                progressBar.Visibility       = ViewStates.Gone;
                mButtonViewSignIn.Visibility = ViewStates.Visible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Crashes.TrackError(exception);
            }
        }
Esempio n. 9
0
        //Click Button Login
        private async void BtnLoginOnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                if (!IMethods.CheckConnectivity())
                {
                    IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                             GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                }
                else
                {
                    if (!string.IsNullOrEmpty(mEditTextEmail.Text) || !string.IsNullOrEmpty(mEditTextPassword.Text))
                    {
                        Current.CurrentInstance.SetWebsiteURL(st.WebsiteUrl, st.ServerKey);

                        progressBar.Visibility       = ViewStates.Visible;
                        mButtonViewSignIn.Visibility = ViewStates.Gone;

                        var settingsResult = await Current.GetWoWonder_Settings(st, "WoWonder_Native_Android");

                        if (settingsResult != null)
                        {
                            string PushID = "";
                            try
                            {
                                PushID = settingsResult["push_id_2"].ToString();
                            }
                            catch (Exception e)
                            {
                                Console.WriteLine(e);
                            }
                            if (OneSignalNotification.OneSignalAPP_ID == "")
                            {
                                OneSignalNotification.OneSignalAPP_ID = PushID;
                                if (Settings.ShowNotification)
                                {
                                    OneSignalNotification.RegisterNotificationDevice();
                                }
                            }

                            var(Api_status, Respond) = await Client.Global.Get_Auth(st, mEditTextEmail.Text, mEditTextPassword.Text, "UTC", UserDetails.Device_ID);

                            if (Api_status == 200)
                            {
                                if (Respond is Auth_Object auth)
                                {
                                    WoWonder_API.Client.WebsiteUrl       = st.WebsiteUrl;
                                    Current.CurrentInstance.ServerKey    = st.ServerKey;
                                    Current.CurrentInstance.Access_token = auth.access_token;

                                    UserDetails.Username     = mEditTextEmail.Text;
                                    UserDetails.Full_name    = mEditTextEmail.Text;
                                    UserDetails.Password     = mEditTextPassword.Text;
                                    UserDetails.access_token = auth.access_token;
                                    UserDetails.User_id      = auth.user_id;
                                    UserDetails.Status       = "Active";
                                    UserDetails.Cookie       = auth.access_token;
                                    UserDetails.Email        = mEditTextEmail.Text;

                                    //Insert user data to database
                                    var user = new DataTables.LoginTB
                                    {
                                        UserID       = UserDetails.User_id,
                                        access_token = UserDetails.access_token,
                                        Cookie       = UserDetails.Cookie,
                                        Username     = mEditTextEmail.Text,
                                        Password     = mEditTextPassword.Text,
                                        Status       = "Active",
                                        Lang         = "",
                                        Device_ID    = UserDetails.Device_ID,
                                    };
                                    Classes.DataUserLoginList.Add(user);

                                    var dbDatabase = new SqLiteDatabase();
                                    dbDatabase.InsertRow(user);
                                    dbDatabase.Dispose();

                                    if (Settings.Show_WalkTroutPage)
                                    {
                                        StartActivity(new Intent(this, typeof(AppIntroWalkTroutPage)));
                                    }
                                    else
                                    {
                                        StartActivity(new Intent(this, typeof(Tabbed_Main_Activity)));

                                        //Get data profile
                                        var data = API_Request.Get_MyProfileData_Api(this).ConfigureAwait(false);
                                    }

                                    progressBar.Visibility       = ViewStates.Gone;
                                    mButtonViewSignIn.Visibility = ViewStates.Visible;
                                    Finish();
                                }
                            }
                            else if (Api_status == 400)
                            {
                                var error = Respond as Error_Object;
                                if (error != null)
                                {
                                    var errortext = error._errors.Error_text;
                                    var errorid   = error._errors.Error_id;
                                    if (errorid == "3")
                                    {
                                        IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                 GetText(Resource.String.Lbl_Security),
                                                                                 GetText(Resource.String.Lbl_ErrorLogin_3), GetText(Resource.String.Lbl_Ok));
                                    }
                                    else if (errorid == "4")
                                    {
                                        IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                 GetText(Resource.String.Lbl_Security),
                                                                                 GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                                    }
                                    else if (errorid == "5")
                                    {
                                        IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                 GetText(Resource.String.Lbl_Security),
                                                                                 GetText(Resource.String.Lbl_ErrorLogin_5), GetText(Resource.String.Lbl_Ok));
                                    }
                                    else
                                    {
                                        IMethods.DialogPopup.InvokeAndShowDialog(this,
                                                                                 GetText(Resource.String.Lbl_Security), errortext,
                                                                                 GetText(Resource.String.Lbl_Ok));
                                    }
                                }

                                progressBar.Visibility       = ViewStates.Gone;
                                mButtonViewSignIn.Visibility = ViewStates.Visible;
                            }
                            else if (Api_status == 404)
                            {
                                //var Error = Respond.ToString();
                                progressBar.Visibility       = ViewStates.Gone;
                                mButtonViewSignIn.Visibility = ViewStates.Visible;
                                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                         GetText(Resource.String.Lbl_Error_Login), GetText(Resource.String.Lbl_Ok));
                            }
                        }
                    }
                    else
                    {
                        progressBar.Visibility       = ViewStates.Gone;
                        mButtonViewSignIn.Visibility = ViewStates.Visible;
                        IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                 GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                    }
                }
            }
            catch (Exception exception)
            {
                progressBar.Visibility       = ViewStates.Gone;
                mButtonViewSignIn.Visibility = ViewStates.Visible;
                IMethods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message,
                                                         GetText(Resource.String.Lbl_Ok));
                Crashes.TrackError(exception);
            }
        }
Esempio n. 10
0
        //Click Button Login
        private async void Btn_Login_OnClicked(object sender, EventArgs e)
        {
            try
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    await DisplayAlert(AppResources.Label_Error, AppResources.Label_Check_Your_Internet, AppResources.Label_OK);
                }
                else
                {
                    UserDialogs.Instance.ShowLoading(AppResources.Label_Please_wait, MaskType.None);

                    //API_Request.Session = Functions.RandomString(30);

                    using (var client = new HttpClient())
                    {
                        var formContent = new FormUrlEncodedContent(new[]
                        {
                            new KeyValuePair <string, string>("username", Txt_Username.Text),
                            new KeyValuePair <string, string>("password", Txt_password.Text),
                            //new KeyValuePair<string, string>("s", API_Request.Session),
                        });

                        var response = await client.PostAsync(API_Request.API_Login, formContent);

                        response.EnsureSuccessStatusCode();
                        var Response_json = await response.Content.ReadAsStringAsync();

                        var    data      = JsonConvert.DeserializeObject <Dictionary <string, object> >(Response_json);
                        string ApiStatus = data["api_status"].ToString();

                        if (ApiStatus == "200")
                        {
                            JObject Login_data = JObject.FromObject(data["data"]);

                            API_Request.User_id = Login_data["user_id"].ToString();
                            API_Request.Session = Login_data["session_id"].ToString();
                            API_Request.Cookie  = Login_data["cookie"].ToString();

                            //Insert user data to database
                            DataTables.LoginTB user = new DataTables.LoginTB();
                            user.UserID   = API_Request.User_id;
                            user.Session  = API_Request.Session;
                            user.Cookie   = API_Request.Cookie;
                            user.Username = Txt_Username.Text;
                            user.Password = Txt_password.Text;
                            user.Status   = "Active";

                            Classes.DataUserLoginList.Add(user);
                            SQL_Commander.Insert_Login_Credentials(user);

                            //Messeges is login user
                            Hamburg_Page.IsLogin = true;
                            var Status_user = Classes.SeconderyListPage.FirstOrDefault(a => a.Name_page == AppResources.Label_Login);
                            if (Status_user != null)
                            {
                                Status_user.Name_page = AppResources.Label_Logout;
                                Status_user.Icon_page = IoniciconsFont.LogOut;

                                var query = Classes.ListPage.FirstOrDefault(a => a.Name_page == AppResources.Label_My_Channel);
                                if (query == null)
                                {
                                    Classes.ListPage.Insert(0, new Classes.PageItems()
                                    {
                                        Name_page       = AppResources.Label_My_Channel,
                                        Icon_page       = IoniciconsFont.Person,
                                        BackgroundColor = "#696969",
                                        TextColor       = "#444"
                                    });
                                    Classes.ListPage.Insert(2, new Classes.PageItems()
                                    {
                                        Name_page       = AppResources.Label_PlayLists,
                                        Icon_page       = IoniciconsFont.Play,
                                        BackgroundColor = "#696969",
                                        TextColor       = "#444"
                                    });
                                    Classes.ListPage.Insert(3, new Classes.PageItems()
                                    {
                                        Name_page       = AppResources.Label_Liked_Videos,
                                        Icon_page       = IoniciconsFont.Thumbsup,
                                        BackgroundColor = "#696969",
                                        TextColor       = "#444"
                                    });
                                    Classes.ListPage.Add(new Classes.PageItems()
                                    {
                                        Name_page       = AppResources.Label_Upload,
                                        Icon_page       = IoniciconsFont.IosCloudUpload,
                                        BackgroundColor = "#696969",
                                        TextColor       = "#444"
                                    });
                                    if (Settings.DarkTheme)
                                    {
                                        foreach (var Item in Classes.ListPage)
                                        {
                                            Item.BackgroundColor = "#bcbcbc";
                                            Item.TextColor       = "#ffff";
                                        }
                                    }
                                }
                            }
                            //Check User Status and Get data
                            SQL_Commander.Get_data_Login_Credentials();

                            UserDialogs.Instance.HideLoading();
                            await Navigation.PopModalAsync(true);
                        }
                        else if (ApiStatus == "304")
                        {
                            JObject errors    = JObject.FromObject(data["errors"]);
                            string  errorID   = errors["error_id"].ToString();
                            var     errortext = errors["error_text"].ToString();

                            UserDialogs.Instance.ShowError(errortext);
                        }
                        else
                        {
                            UserDialogs.Instance.HideLoading();
                            await DisplayAlert(AppResources.Label_Login, AppResources.Label_Login_Not_Correct, AppResources.Label_OK);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                var exception = ex.ToString();
                await DisplayAlert(AppResources.Label_Error, AppResources.Label_Session_Dead, AppResources.Label_OK);

                UserDialogs.Instance.HideLoading();
            }
        }