Exemplo n.º 1
0
        private void CrossAppAuthentication()
        {
            try
            {
                if (LoginTb != null && !string.IsNullOrEmpty(LoginTb.AccessToken) && !string.IsNullOrEmpty(LoginTb.Username))
                {
                    Current.AccessToken = LoginTb.AccessToken;

                    UserDetails.Username    = LoginTb.Username;
                    UserDetails.FullName    = LoginTb.Username;
                    UserDetails.Password    = LoginTb.Password;
                    UserDetails.AccessToken = LoginTb.AccessToken;
                    UserDetails.UserId      = LoginTb.UserId;
                    UserDetails.Status      = LoginTb.Status;
                    UserDetails.Cookie      = LoginTb.AccessToken;
                    UserDetails.Email       = LoginTb.Email;

                    //Insert user data to database
                    var user = new DataTables.LoginTb
                    {
                        UserId      = UserDetails.UserId,
                        AccessToken = UserDetails.AccessToken,
                        Cookie      = UserDetails.Cookie,
                        Username    = UserDetails.Username,
                        Password    = UserDetails.Password,
                        Status      = UserDetails.Status,
                        DeviceId    = UserDetails.DeviceId,
                        Email       = UserDetails.Email,
                    };
                    ListUtils.DataUserLoginList.Clear();
                    ListUtils.DataUserLoginList.Add(user);

                    var dbDatabase = new SqLiteDatabase();
                    dbDatabase.InsertOrUpdateLogin_Credentials(user);


                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => ApiRequest.Get_MyProfileData_Api(this)
                    });

                    if (AppSettings.ShowWalkTroutPage)
                    {
                        Intent newIntent = new Intent(this, typeof(AppIntroWalkTroutPage));
                        newIntent?.PutExtra("class", "login");
                        StartActivity(newIntent);
                    }
                    else
                    {
                        StartActivity(new Intent(this, typeof(TabbedMainActivity)));
                    }

                    Finish();
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
Exemplo n.º 2
0
        private void SetDataRegister(RegisterObject auth)
        {
            try
            {
                if (auth != null)
                {
                    UserDetails.Username    = EmailEditText.Text;
                    UserDetails.FullName    = EmailEditText.Text;
                    UserDetails.Password    = PasswordEditText.Text;
                    UserDetails.AccessToken = auth.AccessToken;
                    UserDetails.UserId      = auth.Data.Id;
                    UserDetails.Status      = "Active";
                    UserDetails.Cookie      = auth.AccessToken;
                    UserDetails.Email       = EmailEditText.Text;

                    Current.AccessToken = auth.AccessToken;

                    //Insert user data to database
                    var user = new DataTables.LoginTb
                    {
                        UserId      = UserDetails.UserId.ToString(),
                        AccessToken = UserDetails.AccessToken,
                        Cookie      = UserDetails.Cookie,
                        Username    = EmailEditText.Text,
                        Password    = PasswordEditText.Text,
                        Status      = "Active",
                        Lang        = "",
                        DeviceId    = UserDetails.DeviceId
                    };
                    UserDetails.IsLogin = true;

                    ListUtils.DataUserLoginList.Clear();
                    ListUtils.DataUserLoginList.Add(user);

                    var dbDatabase = new SqLiteDatabase();
                    dbDatabase.InsertOrUpdateLogin_Credentials(user);

                    if (auth.Data != null)
                    {
                        ListUtils.MyUserInfoList.Add(auth.Data);
                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                            () => ApiRequest.GetInfoData(this, UserDetails.UserId.ToString())
                        });
                    }

                    dbDatabase.Dispose();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 3
0
        private void SetDataLogin(AuthTwoFactor auth)
        {
            try
            {
                UserDetails.AccessToken = Current.AccessToken = auth.SessionId;
                UserDetails.UserId      = Client.UserId = auth.UserId.ToString();
                UserDetails.Status      = "Active";
                UserDetails.Cookie      = auth.Cookie;

                //Insert user data to database
                var user = new DataTables.LoginTb
                {
                    UserId      = UserDetails.UserId,
                    AccessToken = UserDetails.AccessToken,
                    Cookie      = UserDetails.Cookie,
                    Username    = UserDetails.Username,
                    Password    = UserDetails.Password,
                    Status      = "Active",
                    Lang        = "",
                    DeviceId    = UserDetails.DeviceId,
                    Email       = UserDetails.Email,
                };

                var dbDatabase = new SqLiteDatabase();

                var data = ListUtils.DataUserLoginList.FirstOrDefault();
                if (data != null)
                {
                    data.UserId      = UserDetails.UserId;
                    data.AccessToken = UserDetails.AccessToken;
                    data.Cookie      = UserDetails.Cookie;
                    data.Status      = "Active";

                    dbDatabase.InsertOrUpdateLogin_Credentials(data);
                }
                else
                {
                    ListUtils.DataUserLoginList.Clear();
                    ListUtils.DataUserLoginList.Add(user);

                    dbDatabase.InsertOrUpdateLogin_Credentials(user);
                }

                dbDatabase.Dispose();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 4
0
 private void DestroyBasic()
 {
     try
     {
         IncludeLayout = null;
         LayoutBase    = null;
         LoginButton   = null; RegisterButton = null; ContinueButton = null;
         VideoViewer   = null;
         LoginTb       = null;
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
Exemplo n.º 5
0
 private void DestroyBasic()
 {
     try
     {
         IncludeLayout = null !;
         LayoutBase    = null !;
         LoginButton   = null !; RegisterButton = null !; ContinueButton = null !;
         VideoViewer   = null !;
         LoginTb       = null !;
     }
     catch (Exception e)
     {
         Methods.DisplayReportResultTrack(e);
     }
 }
        private void SetDataLogin(LoginObject auth)
        {
            try
            {
                UserDetails.Username    = auth.Data.UserInfo.Email;
                UserDetails.FullName    = auth.Data.UserInfo.Fullname;
                UserDetails.Password    = auth.Data.UserInfo.Password;
                UserDetails.AccessToken = auth.Data.AccessToken;
                UserDetails.UserId      = auth.Data.UserId;
                UserDetails.Status      = "Pending";
                UserDetails.Cookie      = auth.Data.AccessToken;
                UserDetails.Email       = auth.Data.UserInfo.Email;

                Current.AccessToken = auth.Data.AccessToken;

                //Insert user data to database
                var user = new DataTables.LoginTb
                {
                    UserId      = UserDetails.UserId.ToString(),
                    AccessToken = UserDetails.AccessToken,
                    Cookie      = UserDetails.Cookie,
                    Username    = auth.Data.UserInfo.Email,
                    Password    = auth.Data.UserInfo.Password,
                    Status      = "Pending",
                    Lang        = "",
                    DeviceId    = UserDetails.DeviceId,
                };
                ListUtils.DataUserLoginList.Add(user);

                var dbDatabase = new SqLiteDatabase();
                dbDatabase.InsertOrUpdateLogin_Credentials(user);

                if (auth.Data.UserInfo != null)
                {
                    dbDatabase.InsertOrUpdate_DataMyInfo(auth.Data.UserInfo);

                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => ApiRequest.GetInfoData(this, UserDetails.UserId.ToString())
                    });
                }

                dbDatabase.Dispose();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 7
0
        private void SetDataLogin(CreatAccountObject auth)
        {
            try
            {
                Current.AccessToken = auth.AccessToken;

                UserDetails.Username    = TxtUsername.Text;
                UserDetails.FullName    = TxtFirstName.Text + " " + TxtLastName.Text;
                UserDetails.Password    = TxtPassword.Text;
                UserDetails.AccessToken = auth.AccessToken;
                UserDetails.UserId      = auth.UserId;
                UserDetails.Status      = "Pending";
                UserDetails.Cookie      = auth.AccessToken;
                UserDetails.Email       = TxtEmail.Text;

                //Insert user data to database
                var user = new DataTables.LoginTb
                {
                    UserId      = UserDetails.UserId,
                    AccessToken = UserDetails.AccessToken,
                    Cookie      = UserDetails.Cookie,
                    Username    = UserDetails.Username,
                    Password    = UserDetails.Password,
                    Status      = "Pending",
                    Lang        = "",
                    DeviceId    = UserDetails.DeviceId,
                    Email       = UserDetails.Email,
                };

                ListUtils.DataUserLoginList.Clear();
                ListUtils.DataUserLoginList.Add(user);

                var dbDatabase = new SqLiteDatabase();
                dbDatabase.InsertOrUpdateLogin_Credentials(user);

                if (Methods.CheckConnectivity())
                {
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => ApiRequest.Get_MyProfileData_Api(this)
                    });
                }
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
        private void SetDataLogin(CreatAccountObject auth)
        {
            try
            {
                Current.AccessToken = auth.AccessToken;

                UserDetails.Username    = UsernameEditText.Text;
                UserDetails.FullName    = FirstNameEditText.Text + " " + LastNameEditText.Text;
                UserDetails.Password    = PasswordEditText.Text;
                UserDetails.AccessToken = auth.AccessToken;
                UserDetails.UserId      = auth.UserId;
                UserDetails.Status      = "Pending";
                UserDetails.Cookie      = auth.AccessToken;
                UserDetails.Email       = EmailEditText.Text;

                //Insert user data to database
                var user = new DataTables.LoginTb
                {
                    UserId      = UserDetails.UserId,
                    AccessToken = UserDetails.AccessToken,
                    Cookie      = UserDetails.Cookie,
                    Username    = UserDetails.Username,
                    Password    = UserDetails.Password,
                    Status      = "Pending",
                    Lang        = "",
                    DeviceId    = UserDetails.DeviceId,
                    Email       = UserDetails.Email,
                };

                ListUtils.DataUserLoginList.Clear();
                ListUtils.DataUserLoginList.Add(user);

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

                PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                    () => ApiRequest.Get_MyProfileData_Api(this)
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 9
0
        private void SkipButtonOnClick(object sender, EventArgs e)
        {
            try
            {
                UserDetails.Username    = "";
                UserDetails.FullName    = "";
                UserDetails.Password    = "";
                UserDetails.AccessToken = "";
                UserDetails.UserId      = 0;
                UserDetails.Status      = "Pending";
                UserDetails.Cookie      = "";
                UserDetails.Email       = "";

                //Insert user data to database
                var user = new DataTables.LoginTb
                {
                    UserId      = UserDetails.UserId.ToString(),
                    AccessToken = UserDetails.AccessToken,
                    Cookie      = UserDetails.Cookie,
                    Username    = "",
                    Password    = "",
                    Status      = "Pending",
                    Lang        = "",
                    DeviceId    = UserDetails.DeviceId
                };
                ListUtils.DataUserLoginList.Clear();
                ListUtils.DataUserLoginList.Add(user);

                UserDetails.IsLogin = false;

                var dbDatabase = new SqLiteDatabase();
                dbDatabase.InsertOrUpdateLogin_Credentials(user);

                dbDatabase.Dispose();

                StartActivity(new Intent(this, typeof(BoardingActivity)));
                Finish();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Exemplo n.º 10
0
        private void SetDataLogin(LoginObject auth)
        {
            try
            {
                UserDetails.Username    = UsernameEditext.Text;
                UserDetails.FullName    = UsernameEditext.Text;
                UserDetails.Password    = PasswordEditext.Text;
                UserDetails.AccessToken = Current.AccessToken = auth.data.SessionId;
                UserDetails.UserId      = Client.UserId = auth.data.UserId.ToString();
                UserDetails.Status      = "Active";
                UserDetails.Cookie      = auth.data.Cookie;
                UserDetails.Email       = UsernameEditext.Text;

                //Insert user data to database
                var user = new DataTables.LoginTb
                {
                    UserId      = UserDetails.UserId,
                    AccessToken = UserDetails.AccessToken,
                    Cookie      = UserDetails.Cookie,
                    Username    = UsernameEditext.Text,
                    Password    = PasswordEditext.Text,
                    Status      = "Active",
                    Lang        = "",
                    DeviceId    = UserDetails.DeviceId,
                };

                ListUtils.DataUserLoginList.Clear();
                ListUtils.DataUserLoginList.Add(user);

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

                PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                    () => ApiRequest.GetChannelData(this, UserDetails.UserId)
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 11
0
 private void CheckCrossAppAuthentication()
 {
     try
     {
         LoginTb = JsonConvert.DeserializeObject <DataTables.LoginTb>(Methods.ReadNoteOnSD());
         if (LoginTb != null && !string.IsNullOrEmpty(LoginTb.AccessToken) && !string.IsNullOrEmpty(LoginTb.Username))
         {
             ContinueButton.Text       = GetString(Resource.String.Lbl_ContinueAs) + " " + LoginTb.Username;
             ContinueButton.Visibility = ViewStates.Visible;
         }
         else
         {
             ContinueButton.Visibility = ViewStates.Invisible;
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
        private void InitComponent()
        {
            try
            {
                LoginTb = JsonConvert.DeserializeObject <DataTables.LoginTb>(Methods.ReadNoteOnSD());
                TermsAndConditionsText = FindViewById <TextView>(Resource.Id.TermsText);
                ContinueButton         = FindViewById <Button>(Resource.Id.ContinueButton);
                LogIntoButton          = FindViewById <Button>(Resource.Id.LogIntoButton);
                Imageplace             = FindViewById <ImageView>(Resource.Id.Imageplace);
                if (LoginTb != null && !string.IsNullOrEmpty(LoginTb.AccessToken) && !string.IsNullOrEmpty(LoginTb.Username))
                {
                    ContinueButton.Text = GetString(Resource.String.Lbl_ContinueAs) + " " + LoginTb.Username;
                }

                Glide.With(this).Load(Resource.Drawable.first_activity_image).Apply(new RequestOptions().SetDiskCacheStrategy(DiskCacheStrategy.All).CenterCrop()).Into(Imageplace);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 13
0
        private void SkipButton_Click(object sender, EventArgs e)
        {
            try
            {
                UserDetails.Username    = "";
                UserDetails.FullName    = "";
                UserDetails.Password    = "";
                UserDetails.AccessToken = "";
                UserDetails.UserId      = Client.UserId = "0";
                UserDetails.Status      = "Pending";
                UserDetails.Cookie      = "";
                UserDetails.Email       = "";

                DataTables.LoginTb login = new DataTables.LoginTb
                {
                    Username    = "",
                    Password    = "",
                    AccessToken = "",
                    UserId      = "0",
                    Status      = "Pending",
                    Cookie      = "",
                    Email       = "",
                    Lang        = ""
                };

                var sqlEntity = new SqLiteDatabase();
                sqlEntity.InsertOrUpdateLogin_Credentials(login);
                sqlEntity.Dispose();

                UserDetails.IsLogin = false;
                StartActivity(new Intent(this, typeof(TabbedMainActivity)));
                Finish();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Exemplo n.º 14
0
        private async void RegisterButtonOnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                if (ChkAgree.Checked)
                {
                    if (Methods.CheckConnectivity())
                    {
                        if (!string.IsNullOrEmpty(UsernameEditText.Text.Replace(" ", "")) ||
                            !string.IsNullOrEmpty(PasswordEditText.Text) ||
                            !string.IsNullOrEmpty(PasswordRepeatEditText.Text) ||
                            !string.IsNullOrEmpty(EmailEditText.Text.Replace(" ", "")))
                        {
                            if (AppSettings.ShowGenderOnRegister && string.IsNullOrEmpty(GenderStatus))
                            {
                                ProgressBar.Visibility = ViewStates.Invisible;
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                                return;
                            }

                            var smsOrEmail = ListUtils.SettingsSiteList?.SmsOrEmail;
                            if (smsOrEmail == "sms" && string.IsNullOrEmpty(PhoneEditText.Text))
                            {
                                ProgressBar.Visibility = ViewStates.Invisible;
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                                return;
                            }

                            var check = Methods.FunString.IsEmailValid(EmailEditText.Text.Replace(" ", ""));
                            if (!check)
                            {
                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                        GetText(Resource.String.Lbl_VerificationFailed),
                                                                        GetText(Resource.String.Lbl_IsEmailValid), GetText(Resource.String.Lbl_Ok));
                            }
                            else
                            {
                                if (PasswordRepeatEditText.Text == PasswordEditText.Text)
                                {
                                    ProgressBar.Visibility = ViewStates.Visible;

                                    var(apiStatus, respond) = await RequestsAsync.Global.Get_Create_Account(UsernameEditText.Text.Replace(" ", ""), PasswordEditText.Text, PasswordRepeatEditText.Text, EmailEditText.Text.Replace(" ", ""),
                                                                                                            GenderStatus, PhoneEditText.Text, UserDetails.DeviceId);

                                    if (apiStatus == 200)
                                    {
                                        if (respond is CreatAccountObject result)
                                        {
                                            SetDataLogin(result);

                                            if (AppSettings.ShowWalkTroutPage)
                                            {
                                                Intent newIntent = new Intent(this, typeof(AppIntroWalkTroutPage));
                                                newIntent.PutExtra("class", "register");
                                                StartActivity(newIntent);
                                            }
                                            else
                                            {
                                                StartActivity(AppSettings.ShowSuggestedUsersOnRegister
                                                    ? new Intent(this, typeof(SuggestionsUsersActivity))
                                                    : new Intent(this, typeof(TabbedMainActivity)));
                                            }
                                        }

                                        ProgressBar.Visibility = ViewStates.Invisible;
                                        Finish();
                                    }
                                    else if (apiStatus == 220)
                                    {
                                        if (respond is AuthMessageObject messageObject)
                                        {
                                            if (smsOrEmail == "sms")
                                            {
                                                UserDetails.Username = UsernameEditText.Text;
                                                UserDetails.FullName = UsernameEditText.Text;
                                                UserDetails.Password = PasswordEditText.Text;
                                                UserDetails.UserId   = messageObject.UserId;
                                                UserDetails.Status   = "Pending";
                                                UserDetails.Email    = EmailEditText.Text;

                                                //Insert user data to database
                                                var user = new DataTables.LoginTb
                                                {
                                                    UserId      = UserDetails.UserId,
                                                    AccessToken = UserDetails.AccessToken,
                                                    Cookie      = UserDetails.Cookie,
                                                    Username    = UserDetails.Username,
                                                    Password    = UserDetails.Password,
                                                    Status      = "Pending",
                                                    Lang        = "",
                                                    DeviceId    = UserDetails.DeviceId,
                                                    Email       = UserDetails.Email,
                                                };

                                                ListUtils.DataUserLoginList.Clear();
                                                ListUtils.DataUserLoginList.Add(user);

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

                                                Intent newIntent = new Intent(this, typeof(VerificationCodeActivity));
                                                newIntent.PutExtra("TypeCode", "AccountSms");
                                                StartActivity(newIntent);
                                            }
                                            else if (smsOrEmail == "mail")
                                            {
                                                var dialog = new MaterialDialog.Builder(this).Theme(AppSettings.SetTabDarkTheme ? AFollestad.MaterialDialogs.Theme.Dark : AFollestad.MaterialDialogs.Theme.Light);

                                                dialog.Title(GetText(Resource.String.Lbl_ActivationSent));
                                                dialog.Content(GetText(Resource.String.Lbl_ActivationDetails).Replace("@", EmailEditText.Text));
                                                dialog.PositiveText(GetText(Resource.String.Lbl_Ok)).OnPositive(this);
                                                dialog.AlwaysCallSingleChoiceCallback();
                                                dialog.Build().Show();
                                            }
                                            else
                                            {
                                                ProgressBar.Visibility = ViewStates.Invisible;
                                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), messageObject.Message, GetText(Resource.String.Lbl_Ok));
                                            }
                                        }
                                    }
                                    else if (apiStatus == 400)
                                    {
                                        if (respond is ErrorObject error)
                                        {
                                            var errorText = error._errors.ErrorText;

                                            var errorId = error._errors.ErrorId;
                                            if (errorId == "3")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_3),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "4")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_4),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "5")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_Something_went_wrong),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "6")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_6),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "7")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_7),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "8")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_8),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "9")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_9),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "10")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_10),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else if (errorId == "11")
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security),
                                                                                        GetText(Resource.String.Lbl_ErrorRegister_11),
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                            else
                                            {
                                                Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                                        GetText(Resource.String.Lbl_Security), errorText,
                                                                                        GetText(Resource.String.Lbl_Ok));
                                            }
                                        }

                                        ProgressBar.Visibility = ViewStates.Invisible;
                                    }
                                    else if (apiStatus == 404)
                                    {
                                        ProgressBar.Visibility = ViewStates.Invisible;
                                        Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.ToString(), GetText(Resource.String.Lbl_Ok));
                                    }
                                }
                                else
                                {
                                    ProgressBar.Visibility = ViewStates.Invisible;

                                    Methods.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;

                            Methods.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;

                        Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                                GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                    }
                }
                else
                {
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Warning),
                                                            GetText(Resource.String.Lbl_You_can_not_access_your_disapproval),
                                                            GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                ProgressBar.Visibility = ViewStates.Invisible;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message,
                                                        GetText(Resource.String.Lbl_Ok));
            }
        }
Exemplo n.º 15
0
        private async void SetDataRegister(RegisterObject auth)
        {
            try
            {
                if (auth.Data != null)
                {
                    UserDetails.Username    = EmailEditText.Text;
                    UserDetails.FullName    = EmailEditText.Text;
                    UserDetails.Password    = PasswordEditText.Text;
                    UserDetails.AccessToken = auth.Data.AccessToken;
                    UserDetails.UserId      = auth.Data.UserId;
                    UserDetails.Status      = "Pending";
                    UserDetails.Cookie      = auth.Data.AccessToken;
                    UserDetails.Email       = EmailEditText.Text;

                    Current.AccessToken = auth.Data.AccessToken;

                    //Insert user data to database
                    var user = new DataTables.LoginTb
                    {
                        UserId      = UserDetails.UserId.ToString(),
                        AccessToken = UserDetails.AccessToken,
                        Cookie      = UserDetails.Cookie,
                        Username    = EmailEditText.Text,
                        Password    = PasswordEditText.Text,
                        Status      = "Pending",
                        Lang        = "",
                        DeviceId    = UserDetails.DeviceId,
                    };

                    ListUtils.DataUserLoginList.Add(user);

                    var dbDatabase = new SqLiteDatabase();
                    dbDatabase.InsertOrUpdateLogin_Credentials(user);
                    if (auth.Data.UserInfo != null)
                    {
                        dbDatabase.InsertOrUpdate_DataMyInfo(auth.Data.UserInfo);
                        PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                            () => ApiRequest.GetInfoData(this, UserDetails.UserId.ToString())
                        });
                    }

                    if (IdGender > -1)
                    {
                        if (Methods.CheckConnectivity())
                        {
                            var dictionary = new Dictionary <string, string>
                            {
                                { "gender", IdGender.ToString() },
                            };

                            (int apiStatus, var respond) = await RequestsAsync.Users.UpdateProfileAsync(dictionary);

                            if (apiStatus == 200)
                            {
                                if (respond is UpdateProfileObject result)
                                {
                                    Console.WriteLine(result.Message);
                                    var local = ListUtils.MyUserInfo.FirstOrDefault();
                                    if (local != null)
                                    {
                                        local.Gender = IdGender.ToString();

                                        dbDatabase.InsertOrUpdate_DataMyInfo(local);
                                    }
                                }
                            }
                            else
                            {
                                Methods.DisplayReportResult(this, respond);
                            }
                        }
                        else
                        {
                            Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                        }
                    }

                    dbDatabase.Dispose();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemplo n.º 16
0
        public async void OnCompleted(JSONObject json, GraphResponse response)
        {
            try
            {
                var data   = json.ToString();
                var result = JsonConvert.DeserializeObject <FacebookResult>(data);
                FbEmail = result.Email;

                ProgressBar.Visibility = ViewStates.Visible;
                LoginButton.Visibility = ViewStates.Gone;

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

                    //Login Api
                    (int apiStatus, var respond) = await RequestsAsync.Auth.SocialLogin(FbAccessToken, "facebook");

                    if (apiStatus == 200)
                    {
                        if (respond is LoginObject auth)
                        {
                            if (auth.data != null)
                            {
                                Current.AccessToken = auth.data.AccessToken;

                                UserDetails.Username    = EmailEditText.Text;
                                UserDetails.FullName    = EmailEditText.Text;
                                UserDetails.Password    = PasswordEditText.Text;
                                UserDetails.AccessToken = auth.data.AccessToken;
                                UserDetails.UserId      = auth.data.UserId.ToString();
                                UserDetails.Status      = "Active";
                                UserDetails.Cookie      = auth.data.AccessToken;
                                UserDetails.Email       = EmailEditText.Text;

                                //Insert user data to database
                                var user = new DataTables.LoginTb
                                {
                                    UserId      = UserDetails.UserId,
                                    AccessToken = UserDetails.AccessToken,
                                    Cookie      = UserDetails.Cookie,
                                    Username    = EmailEditText.Text,
                                    Password    = PasswordEditText.Text,
                                    Status      = "Active",
                                    Lang        = "",
                                    DeviceId    = UserDetails.DeviceId,
                                };
                                ListUtils.DataUserLoginList.Add(user);

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

                                StartActivity(new Intent(this, typeof(HomeActivity)));
                                Finish();
                            }
                        }
                    }
                    else if (apiStatus == 400)
                    {
                        if (respond is ErrorObject error)
                        {
                            var errorText = error.errors.ErrorText;
                            var errorId   = error.errors.ErrorId;
                            if (errorId == "2")
                            {
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorLogin_2), GetText(Resource.String.Lbl_Ok));
                            }
                            else if (errorId == "4")
                            {
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                            }
                            else if (errorId == "19")
                            {
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_19), GetText(Resource.String.Lbl_Ok));
                            }
                            else
                            {
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), errorText, GetText(Resource.String.Lbl_Ok));
                            }
                        }

                        ProgressBar.Visibility = ViewStates.Gone;
                        LoginButton.Visibility = ViewStates.Visible;
                    }
                    else if (apiStatus == 404)
                    {
                        ProgressBar.Visibility = ViewStates.Gone;
                        LoginButton.Visibility = ViewStates.Visible;
                        Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_Login), GetText(Resource.String.Lbl_Ok));
                    }
                }
            }
            catch (Exception exception)
            {
                ProgressBar.Visibility        = ViewStates.Gone;
                GoogleSignInButton.Visibility = ViewStates.Visible;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
        //Click Button Login
        private async void BtnLoginOnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                if (!Methods.CheckConnectivity())
                {
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security),
                                                            GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                }
                else
                {
                    if (!string.IsNullOrEmpty(UsernameEditText.Text.Replace(" ", "")) || !string.IsNullOrEmpty(PasswordEditText.Text))
                    {
                        HideKeyboard();

                        ProgressBar.Visibility       = ViewStates.Visible;
                        MButtonViewSignIn.Visibility = ViewStates.Gone;

                        if (string.IsNullOrEmpty(TimeZone))
                        {
                            await GetTimezone();
                        }

                        var(apiStatus, respond) = await RequestsAsync.Global.Get_Auth(UsernameEditText.Text.Replace(" ", ""), PasswordEditText.Text, TimeZone, UserDetails.DeviceId);

                        if (apiStatus == 200)
                        {
                            if (respond is AuthObject auth)
                            {
                                var emailValidation = ListUtils.SettingsSiteList?.EmailValidation ?? "0";
                                if (emailValidation == "1")
                                {
                                    IsActiveUser = await CheckIsActiveUser(auth.UserId);
                                }

                                if (IsActiveUser)
                                {
                                    SetDataLogin(auth);

                                    if (AppSettings.ShowWalkTroutPage)
                                    {
                                        Intent newIntent = new Intent(this, typeof(AppIntroWalkTroutPage));
                                        newIntent.PutExtra("class", "login");
                                        StartActivity(newIntent);
                                    }
                                    else
                                    {
                                        StartActivity(new Intent(this, typeof(TabbedMainActivity)));
                                    }

                                    ProgressBar.Visibility       = ViewStates.Gone;
                                    MButtonViewSignIn.Visibility = ViewStates.Visible;
                                    FinishAffinity();
                                }
                                else
                                {
                                    ProgressBar.Visibility       = ViewStates.Gone;
                                    MButtonViewSignIn.Visibility = ViewStates.Visible;
                                }
                            }
                            else if (respond is AuthMessageObject messageObject)
                            {
                                UserDetails.Username = UsernameEditText.Text;
                                UserDetails.FullName = UsernameEditText.Text;
                                UserDetails.Password = PasswordEditText.Text;
                                UserDetails.UserId   = messageObject.UserId;
                                UserDetails.Status   = "Pending";
                                UserDetails.Email    = UsernameEditText.Text;

                                //Insert user data to database
                                var user = new DataTables.LoginTb
                                {
                                    UserId      = UserDetails.UserId,
                                    AccessToken = "",
                                    Cookie      = "",
                                    Username    = UsernameEditText.Text,
                                    Password    = PasswordEditText.Text,
                                    Status      = "Pending",
                                    Lang        = "",
                                    DeviceId    = UserDetails.DeviceId,
                                };
                                ListUtils.DataUserLoginList.Add(user);

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

                                Intent newIntent = new Intent(this, typeof(VerificationCodeActivity));
                                newIntent.PutExtra("TypeCode", "TwoFactor");
                                StartActivity(newIntent);
                            }
                        }
                        else if (apiStatus == 400)
                        {
                            if (respond is ErrorObject error)
                            {
                                var errorText = error.Error.ErrorText;
                                var errorId   = error.Error.ErrorId;
                                if (errorId == "3")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                            GetText(Resource.String.Lbl_Security),
                                                                            GetText(Resource.String.Lbl_ErrorLogin_3), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorId == "4")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                            GetText(Resource.String.Lbl_Security),
                                                                            GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorId == "5")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                            GetText(Resource.String.Lbl_Security),
                                                                            GetText(Resource.String.Lbl_ErrorLogin_5), GetText(Resource.String.Lbl_Ok));
                                }
                                else
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this,
                                                                            GetText(Resource.String.Lbl_Security), errorText,
                                                                            GetText(Resource.String.Lbl_Ok));
                                }
                            }

                            ProgressBar.Visibility       = ViewStates.Gone;
                            MButtonViewSignIn.Visibility = ViewStates.Visible;
                        }
                        else if (apiStatus == 404)
                        {
                            ProgressBar.Visibility       = ViewStates.Gone;
                            MButtonViewSignIn.Visibility = ViewStates.Visible;
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.ToString(), GetText(Resource.String.Lbl_Ok));
                        }
                    }
                    else
                    {
                        ProgressBar.Visibility       = ViewStates.Gone;
                        MButtonViewSignIn.Visibility = ViewStates.Visible;
                        Methods.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;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
Exemplo n.º 18
0
        //Register QuickDate
        private async void RegisterButtonOnClick(object sender, EventArgs e)
        {
            try
            {
                if (Methods.CheckConnectivity())
                {
                    if (IdGender == -1)
                    {
                        ProgressBar.Visibility    = ViewStates.Gone;
                        RegisterButton.Visibility = ViewStates.Visible;
                        Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                        return;
                    }

                    if (!string.IsNullOrEmpty(EmailEditText.Text.Replace(" ", "")) || !string.IsNullOrEmpty(UsernameEditText.Text.Replace(" ", "")) ||
                        !string.IsNullOrEmpty(FirstNameEditText.Text.Replace(" ", "")) || !string.IsNullOrEmpty(LastNameEditText.Text.Replace(" ", "")) ||
                        !string.IsNullOrEmpty(PasswordEditText.Text) || !string.IsNullOrEmpty(ConfirmPasswordEditText.Text))
                    {
                        var check = Methods.FunString.IsEmailValid(EmailEditText.Text);
                        if (!check)
                        {
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_VerificationFailed), GetText(Resource.String.Lbl_IsEmailValid), GetText(Resource.String.Lbl_Ok));
                        }
                        else
                        {
                            if (PasswordEditText.Text != ConfirmPasswordEditText.Text)
                            {
                                ProgressBar.Visibility    = ViewStates.Gone;
                                RegisterButton.Visibility = ViewStates.Visible;
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_Register_password), GetText(Resource.String.Lbl_Ok));
                            }
                            else
                            {
                                ProgressBar.Visibility    = ViewStates.Visible;
                                RegisterButton.Visibility = ViewStates.Gone;

                                (int apiStatus, var respond) = await RequestsAsync.Auth.RegisterAsync(FirstNameEditText.Text.Replace(" ", ""), LastNameEditText.Text.Replace(" ", ""), UsernameEditText.Text.Replace(" ", ""), EmailEditText.Text.Replace(" ", ""), PasswordEditText.Text, UserDetails.DeviceId);

                                if (apiStatus == 200)
                                {
                                    if (respond is RegisterObject auth)
                                    {
                                        if (auth.SuccessType == "registered")
                                        {
                                            SetDataRegister(auth);

                                            StartActivity(AppSettings.ShowWalkTroutPage ? new Intent(this, typeof(BoardingActivity)) : new Intent(this, typeof(HomeActivity)));
                                            FinishAffinity();
                                        }
                                        else if (auth.SuccessType == "confirm_account")
                                        {
                                            //Insert user data to database
                                            var user = new DataTables.LoginTb
                                            {
                                                UserId      = UserDetails.UserId.ToString(),
                                                AccessToken = UserDetails.AccessToken,
                                                Cookie      = UserDetails.Cookie,
                                                Username    = EmailEditText.Text,
                                                Password    = PasswordEditText.Text,
                                                Status      = "Pending",
                                                Lang        = "",
                                                DeviceId    = UserDetails.DeviceId,
                                            };
                                            ListUtils.DataUserLoginList.Add(user);

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

                                            Intent intent = new Intent(this, typeof(VerificationAccountActivity));
                                            intent.PutExtra("Email", EmailEditText.Text);
                                            StartActivity(intent);
                                            Finish();
                                        }
                                    }
                                }
                                else if (apiStatus == 400)
                                {
                                    if (respond is ErrorObject error)
                                    {
                                        string errorText = error.Message;
                                        int    errorId   = error.Code;
                                        switch (errorId)
                                        {
                                        case 6:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_6), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 7:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_7), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 8:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_8), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 9:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_9), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 10:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_10), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 11:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_11), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 12:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_12), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 13:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_13), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 14:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_14), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 15:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_15), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 16:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_16), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 17:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_17), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        case 18:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetString(Resource.String.Lbl_Error_18), GetText(Resource.String.Lbl_Ok));
                                            break;

                                        default:
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), errorText, GetText(Resource.String.Lbl_Ok));
                                            break;
                                        }
                                    }

                                    ProgressBar.Visibility    = ViewStates.Gone;
                                    RegisterButton.Visibility = ViewStates.Visible;
                                }
                                else if (apiStatus == 404)
                                {
                                    ProgressBar.Visibility    = ViewStates.Gone;
                                    RegisterButton.Visibility = ViewStates.Visible;
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.ToString(), GetText(Resource.String.Lbl_Ok));
                                }
                            }
                        }
                    }
                    else
                    {
                        ProgressBar.Visibility    = ViewStates.Gone;
                        RegisterButton.Visibility = ViewStates.Visible;
                        Methods.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;
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                ProgressBar.Visibility    = ViewStates.Gone;
                RegisterButton.Visibility = ViewStates.Visible;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), ex.Message, GetText(Resource.String.Lbl_Ok));
            }
        }
Exemplo n.º 19
0
        //Event Click Register Button
        private async void RegisterButtonOnClick(object sender, EventArgs e)
        {
            try
            {
                if (Methods.CheckConnectivity())
                {
                    new Client(AppSettings.TripleDesAppServiceProvider);

                    if (!string.IsNullOrEmpty(EmailEditText.Text.Replace(" ", "")) || !string.IsNullOrEmpty(UsernameEditText.Text.Replace(" ", "")) || !string.IsNullOrEmpty(PasswordEditText.Text) || !string.IsNullOrEmpty(ConfirmPasswordEditText.Text))
                    {
                        var check = Methods.FunString.IsEmailValid(EmailEditText.Text.Replace(" ", ""));
                        if (!check)
                        {
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_VerificationFailed), GetText(Resource.String.Lbl_IsEmailValid), GetText(Resource.String.Lbl_Ok));
                        }
                        else
                        {
                            if (PasswordEditText.Text != ConfirmPasswordEditText.Text)
                            {
                                ProgressBar.Visibility    = ViewStates.Gone;
                                RegisterButton.Visibility = ViewStates.Visible;
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_Register_password), GetText(Resource.String.Lbl_Ok));
                            }
                            else
                            {
                                ProgressBar.Visibility    = ViewStates.Visible;
                                RegisterButton.Visibility = ViewStates.Gone;

                                var emailValidation = ListUtils.SettingsSiteList?.EmailValidation.ToLower();
                                (int apiStatus, var respond) = await RequestsAsync.Auth.Register(UsernameEditText.Text.Replace(" ", ""), PasswordEditText.Text, ConfirmPasswordEditText.Text, EmailEditText.Text.Replace(" ", ""), UserDetails.DeviceId, emailValidation);

                                if (apiStatus == 200)
                                {
                                    if (respond is RegisterObject auth)
                                    {
                                        if (auth.data != null)
                                        {
                                            Current.AccessToken = auth.data.AccessToken;

                                            UserDetails.Username    = EmailEditText.Text;
                                            UserDetails.FullName    = EmailEditText.Text;
                                            UserDetails.Password    = PasswordEditText.Text;
                                            UserDetails.AccessToken = auth.data.AccessToken;
                                            UserDetails.UserId      = auth.data.UserId.ToString();
                                            UserDetails.Status      = "Active";
                                            UserDetails.Cookie      = auth.data.AccessToken;
                                            UserDetails.Email       = EmailEditText.Text;

                                            //Insert user data to database
                                            var user = new DataTables.LoginTb
                                            {
                                                UserId      = UserDetails.UserId,
                                                AccessToken = UserDetails.AccessToken,
                                                Cookie      = UserDetails.Cookie,
                                                Username    = EmailEditText.Text,
                                                Password    = PasswordEditText.Text,
                                                Status      = "Active",
                                                Lang        = "",
                                                DeviceId    = UserDetails.DeviceId,
                                            };
                                            ListUtils.DataUserLoginList.Add(user);

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

                                            StartActivity(new Intent(this, typeof(AddDataProfileActivity)));
                                            Finish();
                                        }
                                    }
                                    else if (respond is MessageObject mess)
                                    {
                                        Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_emailValidation), GetText(Resource.String.Lbl_Ok));
                                    }
                                }
                                else if (apiStatus == 400)
                                {
                                    if (respond is ErrorObject error)
                                    {
                                        var errortext = error.errors.ErrorText;
                                        var errorid   = error.errors.ErrorId;
                                        if (errorid == "5")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_8), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "6")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_6), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "7")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_7), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "8")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_8), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "9")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_9), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "10")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_10), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "11")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_11), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "12")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_12), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else if (errorid == "19")
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_19), GetText(Resource.String.Lbl_Ok));
                                        }
                                        else
                                        {
                                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), errortext, GetText(Resource.String.Lbl_Ok));
                                        }
                                    }

                                    ProgressBar.Visibility    = ViewStates.Gone;
                                    RegisterButton.Visibility = ViewStates.Visible;
                                }
                                else if (apiStatus == 404)
                                {
                                    ProgressBar.Visibility    = ViewStates.Gone;
                                    RegisterButton.Visibility = ViewStates.Visible;
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.toString(), GetText(Resource.String.Lbl_Ok));
                                }
                            }
                        }
                    }
                    else
                    {
                        ProgressBar.Visibility    = ViewStates.Gone;
                        RegisterButton.Visibility = ViewStates.Visible;
                        Methods.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;
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
Exemplo n.º 20
0
        public async void SetContentGoogle(GoogleSignInAccount acct)
        {
            try
            {
                //Successful log in hooray!!
                if (acct != null)
                {
                    ProgressBar.Visibility = ViewStates.Visible;
                    LoginButton.Visibility = ViewStates.Gone;

                    //GAccountName = acct.Account.Name;
                    //GAccountType = acct.Account.Type;
                    //GDisplayName = acct.DisplayName;
                    //GFirstName = acct.GivenName;
                    //GLastName = acct.FamilyName;
                    //GProfileId = acct.Id;
                    //GEmail = acct.Email;
                    //GImg = acct.PhotoUrl.Path;
                    //GIdtoken = acct.IdToken;
                    GServerCode = acct.ServerAuthCode;

                    var api = new GoogleApi();
                    GAccessToken = await api.GetAccessTokenAsync(GServerCode);

                    if (!string.IsNullOrEmpty(GAccessToken))
                    {
                        //Login Api
                        string key = Methods.App.GetValueFromManifest(this, "com.google.android.geo.API_KEY");
                        (int apiStatus, var respond) = await RequestsAsync.Auth.SocialLogin(GAccessToken, "google", key);

                        if (apiStatus == 200)
                        {
                            if (respond is LoginObject auth)
                            {
                                if (auth.data != null)
                                {
                                    Current.AccessToken = auth.data.AccessToken;

                                    UserDetails.Username    = EmailEditText.Text;
                                    UserDetails.FullName    = EmailEditText.Text;
                                    UserDetails.Password    = PasswordEditText.Text;
                                    UserDetails.AccessToken = auth.data.AccessToken;
                                    UserDetails.UserId      = auth.data.UserId.ToString();
                                    UserDetails.Status      = "Active";
                                    UserDetails.Cookie      = auth.data.AccessToken;
                                    UserDetails.Email       = EmailEditText.Text;

                                    //Insert user data to database
                                    var user = new DataTables.LoginTb
                                    {
                                        UserId      = UserDetails.UserId,
                                        AccessToken = UserDetails.AccessToken,
                                        Cookie      = UserDetails.Cookie,
                                        Username    = EmailEditText.Text,
                                        Password    = PasswordEditText.Text,
                                        Status      = "Active",
                                        Lang        = "",
                                        DeviceId    = UserDetails.DeviceId,
                                    };
                                    ListUtils.DataUserLoginList.Add(user);

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

                                    StartActivity(new Intent(this, typeof(HomeActivity)));
                                    Finish();
                                }
                            }
                        }
                        else if (apiStatus == 400)
                        {
                            if (respond is ErrorObject error)
                            {
                                var errortext = error.errors.ErrorText;
                                var errorid   = error.errors.ErrorId;
                                if (errorid == "2")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorLogin_2), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorid == "4")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorid == "19")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_19), GetText(Resource.String.Lbl_Ok));
                                }
                                else
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), errortext, GetText(Resource.String.Lbl_Ok));
                                }
                            }

                            ProgressBar.Visibility = ViewStates.Gone;
                            LoginButton.Visibility = ViewStates.Visible;
                        }
                        else if (apiStatus == 404)
                        {
                            ProgressBar.Visibility = ViewStates.Gone;
                            LoginButton.Visibility = ViewStates.Visible;
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_Login), GetText(Resource.String.Lbl_Ok));
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                ProgressBar.Visibility        = ViewStates.Gone;
                GoogleSignInButton.Visibility = ViewStates.Visible;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
Exemplo n.º 21
0
        //start Create account
        private async void BtnSignUpOnClick(object sender, EventArgs e)
        {
            try
            {
                if (!Methods.CheckConnectivity())
                {
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                    return;
                }

                if (!ChkTermsOfUse.Checked)
                {
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_You_can_not_access_your_disapproval), GetText(Resource.String.Lbl_Ok));
                    return;
                }

                if (string.IsNullOrEmpty(TxtUsername.Text.Replace(" ", "")))
                {
                    SetHighLight(true, UsernameLayout, TxtUsername, TxtUsernameRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, UsernameLayout, TxtUsername, TxtUsernameRequired);
                }

                if (string.IsNullOrEmpty(TxtFirstName.Text.Replace(" ", "")))
                {
                    SetHighLight(true, FirstNameLayout, TxtFirstName, TxtFirstNameRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, FirstNameLayout, TxtFirstName, TxtFirstNameRequired);
                }

                if (string.IsNullOrEmpty(TxtLastName.Text.Replace(" ", "")))
                {
                    SetHighLight(true, LastNameLayout, TxtLastName, TxtLastNameRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, LastNameLayout, TxtLastName, TxtLastNameRequired);
                }

                if (string.IsNullOrEmpty(TxtEmail.Text.Replace(" ", "")))
                {
                    SetHighLight(true, EmailLayout, TxtEmail, TxtEmailRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, EmailLayout, TxtEmail, TxtEmailRequired);
                }

                if (string.IsNullOrEmpty(GenderStatus))
                {
                    SetHighLight(true, GenderLayout, TxtGender, TxtGenderRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, GenderLayout, TxtGender, TxtGenderRequired);
                }


                if (string.IsNullOrEmpty(TxtPassword.Text))
                {
                    SetHighLight(true, PasswordLayout, TxtPassword, TxtPasswordRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, PasswordLayout, TxtPassword, TxtPasswordRequired);
                }

                if (string.IsNullOrEmpty(TxtConfirmPassword.Text))
                {
                    SetHighLight(true, ConfirmPasswordLayout, TxtConfirmPassword, TxtConfirmPasswordRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, ConfirmPasswordLayout, TxtConfirmPassword, TxtConfirmPasswordRequired);
                }

                var smsOrEmail = ListUtils.SettingsSiteList?.SmsOrEmail;
                if (smsOrEmail == "sms" && string.IsNullOrEmpty(TxtPhoneNum.Text))
                {
                    SetHighLight(true, PhoneNumLayout, TxtPhoneNum, TxtPhoneNumRequired);
                    return;
                }
                else
                {
                    SetHighLight(false, PhoneNumLayout, TxtPhoneNum, TxtPhoneNumRequired);
                }

                var check = Methods.FunString.IsEmailValid(TxtEmail.Text.Replace(" ", ""));
                if (!check)
                {
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_IsEmailValid), GetText(Resource.String.Lbl_Ok));
                    return;
                }

                if (TxtPassword.Text != TxtConfirmPassword.Text)
                {
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Your_password_dont_match), GetText(Resource.String.Lbl_Ok));
                    return;
                }

                HideKeyboard();

                ToggleVisibility(true);

                var(apiStatus, respond) = await RequestsAsync.Auth.CreateAccountAsync(TxtUsername.Text.Replace(" ", ""), TxtPassword.Text, TxtConfirmPassword.Text, TxtEmail.Text.Replace(" ", ""), GenderStatus, TxtPhoneNum.Text, UserDetails.DeviceId, UserDetails.DeviceMsgId);

                if (apiStatus == 200 && respond is CreatAccountObject result)
                {
                    SetDataLogin(result);

                    var dataPrivacy = new Dictionary <string, string> {
                        { "first_name", TxtFirstName.Text }, { "last_name", TxtLastName.Text },
                    };
                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                        () => RequestsAsync.Global.UpdateUserDataAsync(dataPrivacy)
                    });

                    if (AppSettings.ShowWalkTroutPage)
                    {
                        Intent newIntent = new Intent(this, typeof(AppIntroWalkTroutPage));
                        newIntent?.PutExtra("class", "register");
                        StartActivity(newIntent);
                    }
                    else
                    {
                        if (ListUtils.SettingsSiteList?.MembershipSystem == "1")
                        {
                            var intent = new Intent(this, typeof(GoProActivity));
                            intent.PutExtra("class", "register");
                            StartActivity(intent);
                        }
                        else
                        {
                            if (AppSettings.ShowSuggestedUsersOnRegister)
                            {
                                Intent newIntent = new Intent(this, typeof(SuggestionsUsersActivity));
                                newIntent?.PutExtra("class", "register");
                                StartActivity(newIntent);
                            }
                            else
                            {
                                StartActivity(new Intent(this, typeof(TabbedMainActivity)));
                            }
                        }
                    }

                    ToggleVisibility(false);
                    FinishAffinity();
                }
                else if (apiStatus == 220)
                {
                    if (respond is AuthMessageObject message)
                    {
                        if (smsOrEmail == "sms")
                        {
                            UserDetails.Username = TxtUsername.Text;
                            UserDetails.FullName = TxtFirstName.Text + " " + TxtLastName.Text;
                            UserDetails.Password = TxtPassword.Text;
                            UserDetails.UserId   = message.UserId;
                            UserDetails.Status   = "Pending";
                            UserDetails.Email    = TxtEmail.Text;

                            //Insert user data to database
                            var user = new DataTables.LoginTb
                            {
                                UserId      = UserDetails.UserId,
                                AccessToken = UserDetails.AccessToken,
                                Cookie      = UserDetails.Cookie,
                                Username    = UserDetails.Username,
                                Password    = UserDetails.Password,
                                Status      = "Pending",
                                Lang        = "",
                                DeviceId    = UserDetails.DeviceId,
                                Email       = UserDetails.Email,
                            };

                            ListUtils.DataUserLoginList.Clear();
                            ListUtils.DataUserLoginList.Add(user);

                            var dbDatabase = new SqLiteDatabase();
                            dbDatabase.InsertOrUpdateLogin_Credentials(user);

                            Intent newIntent = new Intent(this, typeof(VerificationCodeActivity));
                            newIntent?.PutExtra("TypeCode", "AccountSms");
                            StartActivity(newIntent);
                        }
                        else if (smsOrEmail == "mail")
                        {
                            var dialog = new MaterialDialog.Builder(this).Theme(AppSettings.SetTabDarkTheme ? AFollestad.MaterialDialogs.Theme.Dark : AFollestad.MaterialDialogs.Theme.Light);
                            dialog.Title(GetText(Resource.String.Lbl_ActivationSent)).TitleColorRes(Resource.Color.primary);
                            dialog.Content(GetText(Resource.String.Lbl_ActivationDetails).Replace("@", TxtEmail.Text));
                            dialog.PositiveText(GetText(Resource.String.Lbl_Ok)).OnPositive(new WoWonderTools.MyMaterialDialog());
                            dialog.AlwaysCallSingleChoiceCallback();
                            dialog.Build().Show();
                        }
                        else
                        {
                            ProgressBar.Visibility = ViewStates.Invisible;
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), message.Message, GetText(Resource.String.Lbl_Ok));
                        }

                        ToggleVisibility(false);
                    }
                }
                else if (apiStatus == 400)
                {
                    if (respond is ErrorObject error)
                    {
                        ToggleVisibility(false);
                        var errorText = error.Error.ErrorText;
                        var errorId   = error.Error.ErrorId;
                        switch (errorId)
                        {
                        case "3":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_3), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "4":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_4), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "5":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_something_went_wrong), GetText(Resource.String.Lbl_Ok)); break;

                        case "6":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_6), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "7":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_7), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "8":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_8), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "9":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_9), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "10":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_10), GetText(Resource.String.Lbl_Ok));
                            break;

                        case "11":
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorRegister_11), GetText(Resource.String.Lbl_Ok));
                            break;

                        default:
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), errorText, GetText(Resource.String.Lbl_Ok));
                            break;
                        }
                    }
                }
                else
                {
                    ToggleVisibility(false);
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.ToString(), GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception exception)
            {
                ToggleVisibility(false);
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Methods.DisplayReportResultTrack(exception);
            }
        }
Exemplo n.º 22
0
        //Click Button Login
        private async void BtnLoginOnClick(object sender, EventArgs eventArgs)
        {
            try
            {
                if (!Methods.CheckConnectivity())
                {
                    Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                }
                else
                {
                    if (!string.IsNullOrEmpty(UsernameEditext.Text.Replace(" ", "")) || !string.IsNullOrEmpty(PasswordEditext.Text))
                    {
                        LoginButton.Visibility = ViewStates.Gone;
                        ProgressBar.Visibility = ViewStates.Visible;

                        var(apiStatus, respond) = await RequestsAsync.Global.Request_Login_Http(UsernameEditext.Text.Replace(" ", ""), PasswordEditext.Text, UserDetails.DeviceId);

                        if (apiStatus == 200)
                        {
                            if (respond is LoginObject result)
                            {
                                SetDataLogin(result);

                                UserDetails.IsLogin = true;

                                StartActivity(new Intent(this, typeof(TabbedMainActivity)));

                                ProgressBar.Visibility = ViewStates.Gone;
                                LoginButton.Visibility = ViewStates.Visible;
                                Finish();
                            }
                            else if (respond is AuthMessageObject messageObject)
                            {
                                UserDetails.Username = UsernameEditext.Text;
                                //UserDetails.FullName = MEditTextEmail.Text;
                                UserDetails.Password = PasswordEditext.Text;
                                UserDetails.UserId   = messageObject.UserId;
                                UserDetails.Status   = "Pending";
                                UserDetails.Email    = UsernameEditext.Text;

                                //Insert user data to database
                                var user = new DataTables.LoginTb
                                {
                                    UserId      = UserDetails.UserId,
                                    AccessToken = "",
                                    Cookie      = "",
                                    Username    = UsernameEditext.Text,
                                    Password    = PasswordEditext.Text,
                                    Status      = "Pending",
                                    Lang        = "",
                                    DeviceId    = UserDetails.DeviceId,
                                };
                                ListUtils.DataUserLoginList.Add(user);

                                var dbDatabase = new SqLiteDatabase();
                                // dbDatabase.InsertOrUpdateLogin_Credentials(user);
                                dbDatabase.Dispose();

                                StartActivity(new Intent(this, typeof(VerificationCodeActivity)));
                            }
                        }
                        else if (apiStatus == 400)
                        {
                            if (respond is ErrorObject error)
                            {
                                LoginButton.Visibility = ViewStates.Visible;
                                ProgressBar.Visibility = ViewStates.Invisible;
                                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), error.errors.ErrorText, GetText(Resource.String.Lbl_Ok));
                            }
                        }
                        else
                        {
                            LoginButton.Visibility = ViewStates.Visible;
                            ProgressBar.Visibility = ViewStates.Invisible;
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.ToString(), GetText(Resource.String.Lbl_Ok));
                        }
                    }
                    else
                    {
                        LoginButton.Visibility = ViewStates.Visible;
                        ProgressBar.Visibility = ViewStates.Invisible;
                        Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Please_enter_your_data), GetText(Resource.String.Lbl_Ok));
                    }
                }
            }
            catch (Exception exception)
            {
                LoginButton.Visibility = ViewStates.Visible;
                ProgressBar.Visibility = ViewStates.Invisible;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
                Console.WriteLine(exception);
            }
        }
Exemplo n.º 23
0
        //Event Click Login
        private async void SignInButtonOnClick(object sender, EventArgs e)
        {
            try
            {
                if (Methods.CheckConnectivity())
                {
                    if (!string.IsNullOrEmpty(EmailEditText.Text.Replace(" ", "")) || !string.IsNullOrEmpty(PasswordEditText.Text))
                    {
                        ProgressBar.Visibility = ViewStates.Visible;
                        LoginButton.Visibility = ViewStates.Gone;

                        (int apiStatus, var respond) = await RequestsAsync.Auth.Login(EmailEditText.Text.Replace(" ", ""), PasswordEditText.Text, UserDetails.DeviceId);

                        if (apiStatus == 200)
                        {
                            if (respond is LoginObject auth)
                            {
                                if (auth.data != null)
                                {
                                    Current.AccessToken = auth.data.AccessToken;

                                    UserDetails.Username    = EmailEditText.Text;
                                    UserDetails.FullName    = EmailEditText.Text;
                                    UserDetails.Password    = PasswordEditText.Text;
                                    UserDetails.AccessToken = auth.data.AccessToken;
                                    UserDetails.UserId      = auth.data.UserId.ToString();
                                    UserDetails.Status      = "Active";
                                    UserDetails.Cookie      = auth.data.AccessToken;
                                    UserDetails.Email       = EmailEditText.Text;

                                    //Insert user data to database
                                    var user = new DataTables.LoginTb
                                    {
                                        UserId      = UserDetails.UserId,
                                        AccessToken = UserDetails.AccessToken,
                                        Cookie      = UserDetails.Cookie,
                                        Username    = EmailEditText.Text,
                                        Password    = PasswordEditText.Text,
                                        Status      = "Active",
                                        Lang        = "",
                                        DeviceId    = UserDetails.DeviceId,
                                    };
                                    ListUtils.DataUserLoginList.Add(user);

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

                                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                                        () => ApiRequest.GetProfile_Api(this)
                                    });

                                    StartActivity(new Intent(this, typeof(HomeActivity)));

                                    FinishAffinity();
                                }
                            }
                        }
                        else if (apiStatus == 400)
                        {
                            if (respond is ErrorObject error)
                            {
                                var errorText = error.errors.ErrorText;
                                var errorId   = error.errors.ErrorId;
                                if (errorId == "2")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorLogin_2), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorId == "4")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_ErrorLogin_4), GetText(Resource.String.Lbl_Ok));
                                }
                                else if (errorId == "19")
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_Error_19), GetText(Resource.String.Lbl_Ok));
                                }
                                else
                                {
                                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), errorText, GetText(Resource.String.Lbl_Ok));
                                }
                            }

                            ProgressBar.Visibility = ViewStates.Gone;
                            LoginButton.Visibility = ViewStates.Visible;
                        }
                        else if (apiStatus == 404)
                        {
                            ProgressBar.Visibility = ViewStates.Gone;
                            LoginButton.Visibility = ViewStates.Visible;
                            Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), respond.toString(), GetText(Resource.String.Lbl_Ok));
                        }
                    }
                    else
                    {
                        ProgressBar.Visibility = ViewStates.Gone;
                        LoginButton.Visibility = ViewStates.Visible;
                        Methods.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;
                    LoginButton.Visibility = ViewStates.Visible;
                    Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), GetText(Resource.String.Lbl_CheckYourInternetConnection), GetText(Resource.String.Lbl_Ok));
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                ProgressBar.Visibility = ViewStates.Gone;
                LoginButton.Visibility = ViewStates.Visible;
                Methods.DialogPopup.InvokeAndShowDialog(this, GetText(Resource.String.Lbl_Security), exception.Message, GetText(Resource.String.Lbl_Ok));
            }
        }