public override void onRequestFinish(MegaSDK api, MRequest request, MError e)
        {
            base.onRequestFinish(api, request, e);

            if (Tcs.Task.IsFaulted)
            {
                return;
            }

            if (request.getType() == MRequestType.TYPE_QUERY_RECOVERY_LINK)
            {
                switch (e.getErrorCode())
                {
                case MErrorType.API_OK:     // Successfull change email link query
                    this.Email = request.getEmail();
                    Tcs?.TrySetResult(QueryChangeEmailLinkResult.Success);
                    return;

                case MErrorType.API_ENOENT:     // Invalid link
                    Tcs?.TrySetResult(QueryChangeEmailLinkResult.InvalidLink);
                    return;

                case MErrorType.API_EACCESS:     // No user is logged in
                    Tcs?.TrySetResult(QueryChangeEmailLinkResult.UserNotLoggedIn);
                    return;

                default:     // Unknown result, but not successful
                    Tcs?.TrySetResult(QueryChangeEmailLinkResult.Unknown);
                    return;
                }
            }
        }
Esempio n. 2
0
        protected override void OnSuccesAction(MegaSDK api, MRequest request)
        {
            if (Convert.ToBoolean(api.isLoggedIn()))
            {
                api.logout(new LogOutRequestListener(false));
            }

            App.AppInformation.IsNewlyActivatedAccount = true;

            api.login(request.getEmail(), request.getPassword(),
                      new LoginRequestListener(new LoginViewModel(api)));
        }
Esempio n. 3
0
        public override void onRequestFinish(MegaSDK api, MRequest request, MError e)
        {
            base.onRequestFinish(api, request, e);

            if (Tcs.Task.IsFaulted)
            {
                return;
            }

            if (request.getType() == MRequestType.TYPE_QUERY_SIGNUP_LINK)
            {
                switch (e.getErrorCode())
                {
                case MErrorType.API_OK:     // Valid and operative confirmation link.
                    this.EmailAddress = request.getEmail();
                    Tcs?.TrySetResult(request.getFlag() ?
                                      SignUpLinkType.AutoConfirmed : SignUpLinkType.Valid);
                    break;

                case MErrorType.API_EEXPIRED:     // Expired confirmation link.
                    Tcs?.TrySetResult(SignUpLinkType.Expired);
                    break;

                case MErrorType.API_ENOENT:     // Already confirmed account
                    Tcs?.TrySetResult(SignUpLinkType.AlreadyConfirmed);
                    break;

                case MErrorType.API_EINCOMPLETE:     // Incomplete confirmation link
                    Tcs?.TrySetResult(SignUpLinkType.Invalid);
                    break;

                default:     // Default error processing
                    Tcs?.TrySetResult(SignUpLinkType.Unknown);
                    break;
                }
            }
        }
Esempio n. 4
0
        public override void onRequestFinish(MegaSDK api, MRequest request, MError e)
        {
            base.onRequestFinish(api, request, e);

            if (Tcs.Task.IsFaulted)
            {
                return;
            }

            if (request.getType() == MRequestType.TYPE_CONFIRM_RECOVERY_LINK)
            {
                switch (e.getErrorCode())
                {
                case MErrorType.API_OK:     // Successful reset
                    this.EmailAddress = request.getEmail();
                    Tcs?.TrySetResult(true);
                    return;

                default:     // failed reset
                    Tcs?.TrySetResult(false);
                    return;
                }
            }
        }
Esempio n. 5
0
        public override void onRequestFinish(MegaSDK api, MRequest request, MError e)
        {
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                ProgressService.ChangeProgressBarBackgroundColor((Color)Application.Current.Resources["PhoneChromeColor"]);
                ProgressService.SetProgressIndicator(false);
                this._confirmAccountViewModel.ControlState = true;

                if (request.getType() == MRequestType.TYPE_QUERY_SIGNUP_LINK)
                {
                    switch (e.getErrorCode())
                    {
                    case MErrorType.API_OK:     // Valid and operative confirmation link
                        if (request.getFlag())  // Auto confirmed account.
                        {
                            ShowErrorMesageAndNavigate(AppMessages.AlreadyConfirmedAccount_Title,
                                                       AppMessages.AlreadyConfirmedAccount);
                            break;
                        }
                        this._confirmAccountViewModel.Email = request.getEmail();
                        break;

                    case MErrorType.API_ENOENT:     // Already confirmed account
                        ShowErrorMesageAndNavigate(AppMessages.AlreadyConfirmedAccount_Title,
                                                   AppMessages.AlreadyConfirmedAccount);
                        break;

                    case MErrorType.API_EINCOMPLETE:     // Incomplete confirmation link
                        ShowErrorMesageAndNavigate(AppMessages.ConfirmAccountFailed_Title,
                                                   AppMessages.AM_IncompleteConfirmationLink);
                        break;

                    case MErrorType.API_EGOINGOVERQUOTA: // Not enough quota
                    case MErrorType.API_EOVERQUOTA:      // Storage overquota error
                        base.onRequestFinish(api, request, e);
                        break;

                    default:     // Other error
                        ShowDefaultErrorMessage(e);
                        break;
                    }
                }
                else if (request.getType() == MRequestType.TYPE_CONFIRM_ACCOUNT)
                {
                    switch (e.getErrorCode())
                    {
                    case MErrorType.API_OK:     // Successfull confirmation process
                        var customMessageDialog = new CustomMessageDialog(
                            SuccessMessageTitle, SuccessMessage,
                            App.AppInformation, MessageDialogButtons.Ok);

                        customMessageDialog.OkOrYesButtonTapped += (sender, args) =>
                                                                   OnSuccesAction(api, request);

                        customMessageDialog.ShowDialog();
                        break;

                    case MErrorType.API_ENOENT:     // Wrong password
                    case MErrorType.API_EKEY:       // Wrong password
                        new CustomMessageDialog(
                            AppMessages.WrongPassword_Title,
                            AppMessages.WrongPassword,
                            App.AppInformation,
                            MessageDialogButtons.Ok).ShowDialog();
                        break;

                    case MErrorType.API_EGOINGOVERQUOTA: // Not enough quota
                    case MErrorType.API_EOVERQUOTA:      // Storage overquota error
                        base.onRequestFinish(api, request, e);
                        break;

                    default:     // Other error
                        ShowDefaultErrorMessage(e);
                        break;
                    }
                }
            });
        }
Esempio n. 6
0
        public override void onRequestFinish(MegaSDK api, MRequest request, MError e)
        {
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                ProgressService.ChangeProgressBarBackgroundColor((Color)Application.Current.Resources["PhoneChromeColor"]);
                ProgressService.SetProgressIndicator(false);

                _createAccountViewModel.ControlState = true;
                _loginPage.SetApplicationBar(true);
            });

            if (request.getType() == MRequestType.TYPE_QUERY_SIGNUP_LINK)
            {
                switch (e.getErrorCode())
                {
                case MErrorType.API_OK:     // Valid and operative #newsignup link
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        _createAccountViewModel.Email = request.getEmail();

                        if (!String.IsNullOrWhiteSpace(_createAccountViewModel.Email))
                        {
                            this._loginPage.txtEmail_CreateAccount.IsReadOnly = true;
                        }
                    });
                    break;

                case MErrorType.API_EARGS:     // Invalid #newsignup link
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        new CustomMessageDialog(
                            AppMessages.AM_InvalidLink,
                            AppMessages.AM_NewSignUpInvalidLink,
                            App.AppInformation,
                            MessageDialogButtons.Ok).ShowDialog();
                    });
                    break;

                default:     // Default error processing
                    base.onRequestFinish(api, request, e);
                    break;
                }
            }

            if (request.getType() == MRequestType.TYPE_CREATE_ACCOUNT)
            {
                switch (e.getErrorCode())
                {
                case MErrorType.API_OK:     // Successfull create account process
                    base.onRequestFinish(api, request, e);
                    break;

                case MErrorType.API_EEXIST:     // Email already registered
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        new CustomMessageDialog(
                            ErrorMessageTitle,
                            AppMessages.AM_EmailAlreadyRegistered,
                            App.AppInformation,
                            MessageDialogButtons.Ok).ShowDialog();
                    });
                    break;

                default:     // Default error processing
                    base.onRequestFinish(api, request, e);
                    break;
                }
            }
        }
Esempio n. 7
0
 public override void onRequestStart(MegaSDK api, MRequest request)
 {
     inviteActionType = (MContactRequestInviteActionType)request.getNumber();
     contactEmail     = request.getEmail();
     base.onRequestStart(api, request);
 }