Пример #1
0
        public void Login(LoginPlatform platform)
        {
            this.IsLoading = true;

            App.Logout();

            #if MONOANDROID
            var activity = this.GetService<Cirrious.MvvmCross.Droid.Interfaces.IMvxAndroidCurrentTopActivity>().Activity;

            App.Azure.LoginAsync(activity,  platform.Provider).ContinueWith((t) =>
            #elif MONOTOUCH
            App.Azure.LoginAsync(ViewController, platform.Provider).ContinueWith((t) =>
            #else
            App.Azure.LoginAsync(platform.Provider).ContinueWith((t) =>
            #endif
            {
                this.IsLoading = false;

                if (t.Status == System.Threading.Tasks.TaskStatus.RanToCompletion && t.Result != null && !string.IsNullOrEmpty(t.Result.UserId))
                {
                    //Save our app settings for next launch
                    var settings = this.GetService<Interfaces.ISettingsProvider>();

                    settings.UserId = t.Result.UserId;
                    settings.AuthenticationProvider = (int)platform.Provider;
                    settings.Save();

                    //Navigate to the Lists view
                    RequestNavigate<WishListsViewModel>();
                }
                else
                {
                    //Show Error
                    this.ReportError("Login Failed!");
                }
            });
        }
Пример #2
0
        public void Login(LoginPlatform platform)
        {
            IsLoading = true;

            App.Logout();

            #if MONOANDROID
            var activity = this.GetService<Cirrious.MvvmCross.Droid.Interfaces.IMvxAndroidCurrentTopActivity>().Activity;

            App.Azure.LoginAsync(activity, platform.Provider).ContinueWith((t) => HandleLoginResult(t, platform));
            #elif MONOTOUCH
            App.Azure.LoginAsync(ViewController, platform.Provider).ContinueWith((t) => HandleLoginResult(t, platform));
            #else
            App.Azure.LoginAsync(platform.Provider).ContinueWith((t) => HandleLoginResult(t, platform));
            #endif
        }
Пример #3
0
        void HandleLoginResult(Task<MobileServiceUser> t, LoginPlatform platform = null)
        {
            IsLoading = false;

            if (t.Status == TaskStatus.RanToCompletion && t.Result != null && !string.IsNullOrEmpty(t.Result.UserId))
            {
                //Save our app settings for next launch
                var settings = this.GetService<ISettingsProvider>();

                settings.UserId = t.Result.UserId;

                if (platform != null)
                    settings.AuthenticationProvider = (int)platform.Provider;

                settings.Save();

                //Navigate to the Lists view
                RequestNavigate<WishListsViewModel>();
            }
            else
            {
                //Show Error
                ReportError("Login Failed!");
            }
        }