/// <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()); }
/// <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()); }