コード例 #1
0
            /// <summary>
            /// Executes the workflow.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The response.</returns>
            protected override NullResponse Process(UnenrollUserCredentialRequest request)
            {
                ThrowIf.Null(request, "request");

                if (string.IsNullOrWhiteSpace(request.GrantType))
                {
                    throw new DataValidationException(DataValidationErrors.Microsoft_Dynamics_Commerce_Runtime_MissingParameter, "grantType is missing.");
                }

                if (string.IsNullOrWhiteSpace(request.UserId))
                {
                    throw new DataValidationException(DataValidationErrors.Microsoft_Dynamics_Commerce_Runtime_MissingParameter, "userId is missing.");
                }

                // Disenroll user in headquarters
                UnenrollUserCredentialsRealtimeRequest disenrollUserRealtimeRequest = new UnenrollUserCredentialsRealtimeRequest(
                    request.UserId,
                    request.GrantType);

                this.Context.Runtime.Execute <NullResponse>(disenrollUserRealtimeRequest, this.Context);

                // Delete data on local database
                DeleteUserCredentialsDataRequest deleteUserCredentialsDataRequest = new DeleteUserCredentialsDataRequest(
                    request.UserId,
                    request.GrantType);

                this.Context.Runtime.Execute <NullResponse>(deleteUserCredentialsDataRequest, this.Context);

                // Create auth log
                AuthenticationHelper.LogAuthenticationRequest(request.RequestContext, request.UserId, AuthenticationStatus.Success, AuthenticationOperation.EnrollUserCredentials);

                return(new NullResponse());
            }
コード例 #2
0
 /// <summary>
 /// Removes the association between user and grant type regarding enrollment credentials.
 /// </summary>
 /// <param name="request">The request.</param>
 /// <returns>The response.</returns>
 private static NullResponse UnenrollUserCredentials(UnenrollUserCredentialsRealtimeRequest request)
 {
     TransactionService.TransactionServiceClient transactionService = new TransactionService.TransactionServiceClient(request.RequestContext);
     transactionService.UnenrollUserCredentials(request.UserId, request.GrantType);
     return(new NullResponse());
 }