コード例 #1
0
 public CommandRunner(
     IEnsureAuthenticated ensureAuthenticated,
     IMembershipClient membershipClient,
     ILogger <CommandRunner> logger)
 {
     this.ensureAuthenticated = ensureAuthenticated;
     this.membershipClient    = membershipClient;
     this.logger = logger;
 }
        protected virtual IMembershipClient ResolveMembershipClient()
        {
            if (this.membershipClient == null)
            {
                if (string.IsNullOrWhiteSpace(this.MembershipServiceEndpoint))
                    throw new ArgumentException("MembershipServiceEndpoint cannot be null, empty or white space.");

                this.membershipClient = new MembershipClient(new Uri(this.MembershipServiceEndpoint), this.Dispatcher);
            }

            return this.membershipClient;
        }
        private void Register()
        {
            this.membershipClient = this.ResolveMembershipClient();

            this.ViewModel.IsBusy = true;
            this.ViewModel.Message = Resource.RegisteringMessage;

            this.membershipClient.Register(
                this.ViewModel.UserName,
                this.ViewModel.Email,
                this.ViewModel.Password,
                this.ViewModel.ConfirmPassword,
                r =>
                {
                    if (r.Success)
                    {
                        this.ViewModel.Message = Resource.RegistrationSuccessfullyMessage;
                        if (this.ControlMode == MembershipSignInModes.LogOnAndRegister)
                            this.ViewModel.CurrentMode = MembershipSignInModes.LogOn;
                    }
                    else
                        this.ViewModel.Message = r.ErrorMessage;

                    this.ViewModel.IsBusy = false;

                    this.RaiseMembershipRegistrationResponseCompleted(r);
                });
        }
        private void LogOn()
        {
            this.membershipClient = this.ResolveMembershipClient();

            this.ViewModel.IsBusy = true;
            this.ViewModel.Message = Resource.SigningInMessage;

            this.membershipClient.LogOn(
                this.ViewModel.UserName,
                this.ViewModel.Password,
                r =>
                {
                    this.ViewModel.IsBusy = false;

                    if (r.Success)
                    {
                        this.ViewModel.Message = Resource.LogOnSuccessfullyMessage;
                        this.MembershipTokenStore.MembershipToken = r.Content;
                    }
                    else
                        this.ViewModel.Message = r.ErrorMessage;

                    this.RaiseMembershipSignInResponseCompleted(r);
                });
        }