Beispiel #1
0
        private void GetCustomerOwnTaskAndRefreshAccessToken()
        {
            try
            {
                string sUserToken = Joyces.Helpers.Settings.AccessToken;
                string sUserEmail = Joyces.Helpers.Settings.UserEmail;
                Task.Run(async() =>
                {
                    var getCustomer = await RestAPI.GetCustomer(sUserEmail, sUserToken);
                    //               System.Diagnostics.Debug.WriteLine("================AFTER GET CUSTOMER================ " + DateTime.Now.ToString("HH:mm:ss.fff"));

                    if (getCustomer != null && getCustomer is Customer)
                    {
                        Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;
                        await SetCustomerSetting();
                    }
                });
                Task.Run(async() =>
                {
                    Thread.Sleep(TimeSpan.FromSeconds(15));
                    //     System.Diagnostics.Debug.WriteLine("================REFRESHTOKEN START================ " + DateTime.Now.ToString("HH:mm:ss.fff"));
                    bool bRefreshed     = await RestAPI.RefreshTokenInBackground(sUserEmail);
                    string strRefreshed = "";
                    if (bRefreshed)
                    {
                        strRefreshed = "true";
                    }
                    else
                    {
                        strRefreshed = "false";
                    }
                    //     System.Diagnostics.Debug.WriteLine("================REFRESHTOKEN END ================ " + DateTime.Now.ToString("HH:mm:ss.fff"));
                });

                //HERE REFRESH TOKEN
            }
            catch (Exception e)
            {
            }
        }
        async private void CheckRESTServerStatus()
        {
            var tokenModel = await RestAPI.GetUserToken(GeneralSettings.TestUserUsername, GeneralSettings.TestUserPassword);

            var getCustomer = await RestAPI.GetCustomer(GeneralSettings.TestUserUsername, ((TokenModel)tokenModel).access_token);

            if (getCustomer != null && getCustomer is Customer)
            {
                TextViewRESTStatus.Text      = "Online";
                TextViewRESTStatus.TextColor = new UIColor(red: 0.14f, green: 0.62f, blue: 0.07f, alpha: 1.0f);
            }
            else if (getCustomer != null && tokenModel is AbalonErrors)
            {
                TextViewRESTStatus.Text      = "Offline: " + ((AbalonErrors)tokenModel).message;
                TextViewRESTStatus.TextColor = new UIColor(red: 0.62f, green: 0.07f, blue: 0.07f, alpha: 1.0f);
            }
            else
            {
                TextViewRESTStatus.Text      = "Offline";
                TextViewRESTStatus.TextColor = new UIColor(red: 0.62f, green: 0.07f, blue: 0.07f, alpha: 1.0f);
            }
        }
Beispiel #3
0
        async private void CheckRESTServerStatus()
        {
            EditText editTextDeveloperMenuStatusREST = FindViewById <EditText>(Resource.Id.editTextDeveloperMenuStatusREST);

            var tokenModel = await RestAPI.GetUserToken(GeneralSettings.TestUserUsername, GeneralSettings.TestUserPassword);

            var getCustomer = await RestAPI.GetCustomer(GeneralSettings.TestUserUsername, ((TokenModel)tokenModel).access_token);

            if (tokenModel != null && getCustomer is Customer)
            {
                editTextDeveloperMenuStatusREST.Text = "Online";
                editTextDeveloperMenuStatusREST.SetTextColor(Android.Graphics.Color.DarkGreen);
            }
            else if (tokenModel != null && tokenModel is AbalonErrors)
            {
                editTextDeveloperMenuStatusREST.Text = "Offline: " + ((AbalonErrors)tokenModel).message;
                editTextDeveloperMenuStatusREST.SetTextColor(Android.Graphics.Color.DarkRed);
            }
            else
            {
                editTextDeveloperMenuStatusREST.Text = "Offline";
                editTextDeveloperMenuStatusREST.SetTextColor(Android.Graphics.Color.DarkRed);
            }
        }
        async partial void UIButton185623_TouchUpInside(UIButton sender)
        {
            var bounds = UIScreen.MainScreen.Bounds;

            loadPop = new LoadingOverlay(bounds);
            View.Add(loadPop);

            string sFirstName   = txtFirstname.Text;
            string sLastName    = txtLastname.Text;
            string sMobile      = txtMobileNo.Text;
            string sEmail       = customerList.email;
            string sAccessToken = Joyces.Helpers.Settings.AccessToken;

            string sResp = await RestAPI.UpdateUser(sEmail, sFirstName, sLastName, sMobile, sAccessToken);

            if (string.IsNullOrEmpty(sResp))
            {
                var getCustomer = await RestAPI.GetCustomer(sEmail, sAccessToken);

                if (getCustomer == null)
                {
                    alert = new UIAlertView(Lang.MESSAGE_HEADLINE, Lang.UNEXPECTED_ERROR, null, Lang.BUTTON_OK, null);
                    alert.Show();
                }
                else if (getCustomer is Customer)
                {
                    Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;

                    alert = new UIAlertView(Lang.MESSAGE_HEADLINE, Lang.PROFILE_UPDATE, null, Lang.BUTTON_OK, null);
                    alert.Show();
                }
                else if (getCustomer is AbalonErrors)
                {
                    var localError = (AbalonErrors)getCustomer;

                    if (localError.error.Contains("invalid_token") || localError.error.Contains("invalid_grant"))
                    {
                        Joyces.Helpers.Settings.AccessToken = string.Empty;
                        Joyces.Helpers.Settings.UserEmail   = string.Empty;

                        var mainController = Storyboard.InstantiateViewController("loginNavigationController");
                        UIApplication.SharedApplication.KeyWindow.RootViewController = mainController;

                        alert = new UIAlertView(Lang.MESSAGE_HEADLINE, Lang.USER_HAS_LOGGED_OUT, null, Lang.BUTTON_OK, null);
                        alert.Show();
                    }
                    else
                    {
                        alert = new UIAlertView(Lang.MESSAGE_HEADLINE, ((AbalonErrors)getCustomer).error_description, null, Lang.BUTTON_OK, null);
                        alert.Show();
                    }
                }

                loadPop.Hide();
            }
            else
            {
                alert = new UIAlertView(Lang.MESSAGE_HEADLINE, sResp, null, Lang.BUTTON_OK, null);
                alert.Show();

                loadPop.Hide();
            }
        }
Beispiel #5
0
        async private void LoginButton_Click(object sender, EventArgs e)
        {
            Console.WriteLine("Login button clicked");
            progress.Show();

            Console.WriteLine("Progress Show exited");

            EditText txtEmail  = FindViewById <EditText>(Resource.Id.EmailEditText);
            string   sUsername = txtEmail.Text;

            EditText txtPassword = FindViewById <EditText>(Resource.Id.PasswordEditText);
            string   sPassword   = txtPassword.Text;

            var tokenModel = await RestAPI.GetUserToken(sUsername, sPassword);

            if (tokenModel != null && tokenModel is TokenModel)
            {
                //Om allt går som det ska, så ska den komma in hit!
                Joyces.Helpers.Settings.AccessToken = ((TokenModel)tokenModel).access_token;
                Joyces.Helpers.Settings.UserEmail   = sUsername;
                if (((TokenModel)tokenModel).expires_in != null)
                {
                    Joyces.Helpers.Settings.AccessTokenExpiration = ((TokenModel)tokenModel).expires_in.ToString();
                }

                Joyces.Platform.AppContext.Instance.Platform.CustomerId = sUsername;
                var getCustomer = await RestAPI.GetCustomer(sUsername, ((TokenModel)tokenModel).access_token);

                if (getCustomer == null)
                {
                    Joyces.Helpers.Settings.AccessToken           = string.Empty;
                    Joyces.Helpers.Settings.UserEmail             = string.Empty;
                    Joyces.Helpers.Settings.AccessTokenExpiration = string.Empty;
                    Alert(Lang.MESSAGE_HEADLINE, Lang.UNEXPECTED_ERROR, Lang.BUTTON_OK);

                    progress.Hide();

                    return;
                }
                else if (getCustomer is Customer)
                {
                    //Always set new token here.
                    //((TokenModel)tokenModel).access_token = Helpers.Settings.AccessToken;
                    // Task.Run(async () => await LoadApp());

                    Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;
                    if (Joyces.Platform.AppContext.Instance.Platform.CustomerList != null)
                    {
                        await SetCustomerSetting();
                    }

                    var resp = await RestAPI.GetOffer(sUsername, Joyces.Helpers.Settings.AccessToken);

                    if (resp != null && resp is List <Offer> )
                    {
                        Joyces.Platform.AppContext.Instance.Platform.OfferList = (List <Offer>)resp;
                        await SetOfferSetting();
                    }
                    else
                    {
                        Joyces.Platform.AppContext.Instance.Platform.OfferList = null;
                    }

                    resp = await RestAPI.GetNews(sUsername, Joyces.Helpers.Settings.AccessToken);

                    if (resp != null && resp is List <News> )
                    {
                        Joyces.Platform.AppContext.Instance.Platform.NewsList = (List <News>)resp;
                        await SetNewsSetting();
                    }
                    else
                    {
                        Joyces.Platform.AppContext.Instance.Platform.NewsList = null;
                    }

                    Joyces.Platform.AppContext.Instance.Platform.MoreList = await RestAPI.GetMore(Joyces.Helpers.Settings.AccessToken);

                    if (Joyces.Platform.AppContext.Instance.Platform.MoreList != null)
                    {
                        await SetMoreSetting();
                    }
                    Joyces.Helpers.Settings.UserAccountNo = Joyces.Platform.AppContext.Instance.Platform.CustomerList.accountNumber;

                    progress.Hide();

                    var t = Task.Run(async() => await LoadApp());
                }
                else if (getCustomer is AbalonErrors)
                {
                    var localError = (AbalonErrors)getCustomer;

                    Joyces.Helpers.Settings.AccessToken = string.Empty;
                    Joyces.Helpers.Settings.UserEmail   = string.Empty;

                    Alert(Lang.ERROR_HEADLINE, localError.message, Lang.BUTTON_OK);

                    progress.Hide();
                }
            }
            else if (tokenModel != null && tokenModel is AbalonErrors)
            {
                //Hit kommer den om ett fel returneras från Abalon
                progress.Hide();

                Joyces.Helpers.Settings.AccessToken = string.Empty;
                Joyces.Helpers.Settings.UserEmail   = string.Empty;

                if (((AbalonErrors)tokenModel).error_description.Contains("PRE_AUTHENTICATION"))
                {
                    ((AbalonErrors)tokenModel).error_description = Lang.NOT_ACTIVATED_MEMBER;
                }

                Alert(Lang.ERROR_HEADLINE, ((AbalonErrors)tokenModel).error_description.Replace("@carbon.super", ""), Lang.BUTTON_OK);
            }
            else
            {
                //Vid all sorts exception kommer den hit och visar UNEXPECTED_ERROR!
                progress.Hide();

                Joyces.Helpers.Settings.AccessToken = string.Empty;
                Joyces.Helpers.Settings.UserEmail   = string.Empty;

                Alert(Lang.ERROR_HEADLINE, Lang.WRONG_PASSWORD, Lang.BUTTON_OK);
            }
        }
        async override public void ViewDidAppear(bool animated)
        {
            if (GeneralSettings.AutoLogin)
            {
                if (!string.IsNullOrEmpty(Joyces.Helpers.Settings.AccessToken) &&
                    !string.IsNullOrEmpty(Joyces.Helpers.Settings.UserEmail))
                {
                    //Kontrollerar om användaren redan har loggat in en gång.
                    try
                    {
                        var bounds = UIScreen.MainScreen.Bounds;
                        loadPop = new LoadingOverlay(bounds);
                        View.Add(loadPop);
                        System.Diagnostics.Debug.WriteLine("================LOGIN  IOS BEFORE CALLS ================ " + DateTime.Now.ToString("HH:mm:ss.fff"));

                        //string sAccessToken = Helpers.Settings.AccessToken;
                        string sUserEmail = Joyces.Helpers.Settings.UserEmail;

                        if (!string.IsNullOrEmpty(Joyces.Helpers.Settings.AccessToken) && !string.IsNullOrEmpty(sUserEmail))
                        {
                            Joyces.Platform.AppContext.Instance.Platform.CustomerId = sUserEmail;

                            var getCustomer = await RestAPI.GetCustomer(sUserEmail, Joyces.Helpers.Settings.AccessToken);

                            if (getCustomer != null && getCustomer is Customer)
                            {
                                Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;

                                var resp = await RestAPI.GetOffer(sUserEmail, Joyces.Helpers.Settings.AccessToken);

                                if (resp != null && resp is List <Offer> )
                                {
                                    Joyces.Platform.AppContext.Instance.Platform.OfferList = (List <Offer>)resp;
                                }
                                else
                                {
                                    Joyces.Platform.AppContext.Instance.Platform.OfferList = null;
                                }

                                resp = await RestAPI.GetNews(sUserEmail, Joyces.Helpers.Settings.AccessToken);

                                if (resp != null && resp is List <Joyces.News> )
                                {
                                    Joyces.Platform.AppContext.Instance.Platform.NewsList = (List <Joyces.News>)resp;
                                }
                                else
                                {
                                    Joyces.Platform.AppContext.Instance.Platform.NewsList = null;
                                }

                                Joyces.Platform.AppContext.Instance.Platform.MoreList = await RestAPI.GetMore(Joyces.Helpers.Settings.AccessToken);

                                var x = new MenuTabBarController(this.Handle);
                                x.PerformSegue("segueMenu", this);
                            }
                            else
                            {
                                Joyces.Helpers.Settings.AccessToken = string.Empty;
                                Joyces.Helpers.Settings.UserEmail   = string.Empty;

                                return;
                            }
                        }
                        System.Diagnostics.Debug.WriteLine("================LOGIN  IOS AFTER CALLS ================ " + DateTime.Now.ToString("HH:mm:ss.fff"));
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
        //Login button
        async partial void BtnLogin_TouchUpInside(UIButton sender)
        {
            var bounds = UIScreen.MainScreen.Bounds;

            loadPop = new LoadingOverlay(bounds);
            View.Add(loadPop);

            string sUsername = txtName.Text;
            string sPassword = txtPassword.Text;

            var tokenModel = await RestAPI.GetUserToken(sUsername, sPassword);



            if (tokenModel != null && tokenModel is TokenModel)
            {
                //Om allt går som det ska, så ska den komma in hit!
                Joyces.Helpers.Settings.AccessToken = ((TokenModel)tokenModel).access_token;
                Joyces.Helpers.Settings.UserEmail   = sUsername;

                Joyces.Platform.AppContext.Instance.Platform.CustomerId = sUsername;
                var getCustomer = await RestAPI.GetCustomer(sUsername, Joyces.Helpers.Settings.AccessToken);

                if (getCustomer == null)
                {
                    Joyces.Helpers.Settings.AccessToken = string.Empty;
                    Joyces.Helpers.Settings.UserEmail   = string.Empty;

                    UIAlertView _error = new UIAlertView(Lang.ERROR_HEADLINE, Lang.UNEXPECTED_ERROR, null, Lang.BUTTON_OK, null);
                    _error.Show();

                    loadPop.Hide();
                }
                else if (getCustomer is Customer)
                {
                    //Always set new token here.
                    ((TokenModel)tokenModel).access_token = Joyces.Helpers.Settings.AccessToken;

                    Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;

                    var resp = await RestAPI.GetOffer(sUsername, Joyces.Helpers.Settings.AccessToken);

                    if (resp != null && resp is List <Offer> )
                    {
                        Joyces.Platform.AppContext.Instance.Platform.OfferList = (List <Offer>)resp;
                    }
                    else
                    {
                        Joyces.Platform.AppContext.Instance.Platform.OfferList = null;
                    }

                    resp = await RestAPI.GetNews(sUsername, Joyces.Helpers.Settings.AccessToken);

                    if (resp != null && resp is List <Joyces.News> )
                    {
                        Joyces.Platform.AppContext.Instance.Platform.NewsList = (List <Joyces.News>)resp;
                    }
                    else
                    {
                        Joyces.Platform.AppContext.Instance.Platform.NewsList = null;
                    }


                    Joyces.Platform.AppContext.Instance.Platform.MoreList = await RestAPI.GetMore(Joyces.Helpers.Settings.AccessToken);

                    loadPop.Hide();

                    Joyces.Helpers.Settings.UserAccountNo = Joyces.Platform.AppContext.Instance.Platform.CustomerList.accountNumber;

                    var x = new MenuTabBarController(this.Handle);
                    x.PerformSegue("segueMenu", this);
                }
                else if (getCustomer is AbalonErrors)
                {
                    var localError = (AbalonErrors)getCustomer;

                    Joyces.Helpers.Settings.AccessToken = string.Empty;
                    Joyces.Helpers.Settings.UserEmail   = string.Empty;

                    UIAlertView _error = new UIAlertView(Lang.MESSAGE_HEADLINE, localError.message, null, Lang.BUTTON_OK, null);
                    _error.Show();

                    loadPop.Hide();

                    return;
                }
            }
            else if (tokenModel != null && tokenModel is AbalonErrors)
            {
                //Hit kommer den om ett fel returneras från Abalon
                loadPop.Hide();

                Joyces.Helpers.Settings.AccessToken = string.Empty;
                Joyces.Helpers.Settings.UserEmail   = string.Empty;

                if (((AbalonErrors)tokenModel).error_description.Contains("PRE_AUTHENTICATION"))
                {
                    ((AbalonErrors)tokenModel).error_description = Lang.NOT_ACTIVATED_MEMBER;
                }
                try
                {
                    //TEMPORÄRT
                    string strErrorDesc = ((AbalonErrors)tokenModel).error_description;
                    strErrorDesc = strErrorDesc.Replace("Missing parameters", "Saknade parametrar").Replace("username", "Epost").Replace("password", "Lösenord");
                    ((AbalonErrors)tokenModel).error_description = strErrorDesc;
                    strErrorDesc = strErrorDesc + "";
                }
                catch (Exception eee)
                {
                }


                UIAlertView _error = new UIAlertView(Lang.MESSAGE_HEADLINE, ((AbalonErrors)tokenModel).error_description.Replace("@carbon.super", ""), null, Lang.BUTTON_OK, null);
                _error.Show();
            }
            else
            {
                //Vid all sorts exception kommer den hit och visar UNEXPECTED_ERROR!
                loadPop.Hide();

                Joyces.Helpers.Settings.AccessToken = string.Empty;
                Joyces.Helpers.Settings.UserEmail   = string.Empty;

                UIAlertView _error = new UIAlertView(Lang.MESSAGE_HEADLINE, Lang.UNEXPECTED_ERROR, null, Lang.BUTTON_OK, null);
                _error.Show();
            }
        }
Beispiel #8
0
        async private Task RefreshAllData()
        {
            //Refreashing News, Offer and More async
            try
            {
                string sUserToken           = Joyces.Helpers.Settings.AccessToken;
                string sUserEmail           = Joyces.Helpers.Settings.UserEmail;
                string strAccessTokenExp    = Joyces.Helpers.Settings.AccessTokenExpiration;
                int    iSecondsToExpiration = 0;
                if (!string.IsNullOrEmpty(strAccessTokenExp))
                {
                    Int32.TryParse(strAccessTokenExp, out iSecondsToExpiration);
                }
                await CheckValuesFromSettings();

                //Int.TryParse(strAccessTokenExp, out iSecondsToExpiration);
                //System.Diagnostics.Debug.WriteLine("================START 1 ================ " + DateTime.Now.ToString("HH:mm:ss.fff"));
                //Skicka användaren vidare till inloggatläge
                if (iSecondsToExpiration < 10)
                {
                    if (!string.IsNullOrEmpty(sUserToken) && !string.IsNullOrEmpty(sUserEmail))
                    {
                        Joyces.Platform.AppContext.Instance.Platform.CustomerId = sUserEmail;


                        var getCustomer = await RestAPI.GetCustomer(sUserEmail, sUserToken);

                        //               System.Diagnostics.Debug.WriteLine("================AFTER GET CUSTOMER================ " + DateTime.Now.ToString("HH:mm:ss.fff"));

                        if (getCustomer != null && getCustomer is Customer)
                        {
                            Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;
                            //var resp = await RestAPI.GetOffer(sUserEmail, sUserToken);

                            //if (resp != null && resp is List<Offer>)
                            //    Joyces.Platform.AppContext.Instance.Platform.OfferList = (List<Offer>)resp;
                            //else
                            //    Joyces.Platform.AppContext.Instance.Platform.OfferList = null;

                            //resp = await RestAPI.GetNews(sUserEmail, sUserToken);

                            //if (resp != null && resp is List<News>)
                            //    Joyces.Platform.AppContext.Instance.Platform.NewsList = (List<News>)resp;
                            //else
                            //    Joyces.Platform.AppContext.Instance.Platform.NewsList = null;

                            //Joyces.Platform.AppContext.Instance.Platform.MoreList = await RestAPI.GetMore(Helpers.Settings.AccessToken);
                            GetAllDataForTabs();
                        }
                        else if (getCustomer != null && getCustomer is AbalonErrors)
                        {
                            var localError = (AbalonErrors)getCustomer;

                            if (localError.error.Contains("invalid_token") || localError.error.Contains("invalid_grant"))
                            {
                                Joyces.Helpers.Settings.AccessToken   = string.Empty;
                                Joyces.Helpers.Settings.UserEmail     = string.Empty;
                                Joyces.Helpers.Settings.UserAccountNo = string.Empty;

                                Alert(Lang.MESSAGE_HEADLINE, Lang.USER_HAS_LOGGED_OUT, Lang.BUTTON_OK);


                                //Skickar användaren till inloggningssidan
                                var intent = new Intent(this, typeof(MainActivity));
                                StartActivity(intent);
                            }
                            else
                            {
                                Alert(Lang.MESSAGE_HEADLINE, localError.message, Lang.BUTTON_OK);
                            }
                        }
                        else
                        {
                            Alert(Lang.MESSAGE_HEADLINE, Lang.UNEXPECTED_ERROR, Lang.BUTTON_OK);
                        }
                    }
                }
                else
                {
                    //            System.Diagnostics.Debug.WriteLine("================ACCESS OK ================ " + DateTime.Now.ToString("HH:mm:ss.fff"));
                    Joyces.Platform.AppContext.Instance.Platform.CustomerId = sUserEmail;

                    GetAllDataForTabs();
                    GetCustomerOwnTaskAndRefreshAccessToken();
                }
                //       System.Diagnostics.Debug.WriteLine("================END 1 ================ " + DateTime.Now.ToString("HH:mm:ss.fff"));

                //if (sSelectedTab == "news")
                //    LoadNewsfeedView();
                //else if (sSelectedTab == "offersWithLoyalty")
                //    LoadOffersView();
                //else if (sSelectedTab == "offersWithoutLoyalty")
                //    LoadOffersSingleView();
                //else if (sSelectedTab == "more")
                //    LoadMoreFeed();

                //progress.Hide();
            }
            catch (Exception)
            {
            }
        }
Beispiel #9
0
        async private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (!bIsUpdating)
            {
                bIsUpdating = true;
                progress.Show();

                string sEmail     = FindViewById <EditText>(Resource.Id.txtProfileViewEmail).Text;
                string sFirstName = FindViewById <EditText>(Resource.Id.txtProfileViewFirstName).Text;
                string sLastName  = FindViewById <EditText>(Resource.Id.txtProfileViewLastName).Text;
                string sMobileNo  = FindViewById <EditText>(Resource.Id.txtProfileViewMobileNo).Text;

                string sUserToken = Joyces.Helpers.Settings.AccessToken;

                var sResp = await RestAPI.UpdateUser(sEmail, sFirstName, sLastName, sMobileNo, sUserToken);

                if (string.IsNullOrEmpty(sResp))
                {
                    var getCustomer = await RestAPI.GetCustomer(sEmail, sUserToken);

                    if (getCustomer == null)
                    {
                        Alert(Lang.MESSAGE_HEADLINE, Lang.UNEXPECTED_ERROR, Lang.BUTTON_OK);
                    }
                    else if (getCustomer is Customer)
                    {
                        Joyces.Platform.AppContext.Instance.Platform.CustomerList = (Customer)getCustomer;
                        Alert(Lang.MESSAGE_HEADLINE, Lang.PROFILE_UPDATE, Lang.BUTTON_OK);
                    }
                    else if (getCustomer is AbalonErrors)
                    {
                        var localError = (AbalonErrors)getCustomer;

                        if (localError.error.Contains("invalid_token") || localError.error.Contains("invalid_grant"))
                        {
                            Joyces.Helpers.Settings.AccessToken = string.Empty;
                            Joyces.Helpers.Settings.UserEmail   = string.Empty;

                            //Skickar användaren till inloggningssidan
                            var intent = new Intent(this, typeof(MainActivity));
                            StartActivity(intent);

                            Alert(Lang.MESSAGE_HEADLINE, Lang.USER_HAS_LOGGED_OUT, Lang.BUTTON_OK);
                        }
                        else
                        {
                            Alert(Lang.MESSAGE_HEADLINE, ((AbalonErrors)getCustomer).error_description, Lang.BUTTON_OK);
                        }
                    }

                    progress.Hide();
                }
                else
                {
                    Alert(Lang.MESSAGE_HEADLINE, sResp, Lang.BUTTON_OK);
                }

                loadProfileViewContent(true);

                progress.Hide();
                bIsUpdating = false;
            }
        }