/// <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> /// Delete user credentials associated to the <paramref name="request"/>. /// </summary> /// <param name="request">The data request.</param> /// <returns>A void service response.</returns> private NullResponse DeleteUserCredentials(DeleteUserCredentialsDataRequest request) { using (SqlServerDatabaseContext databaseContext = new SqlServerDatabaseContext(request.RequestContext)) { ParameterSet parameters = new ParameterSet(); parameters["@nvc_staffId"] = request.UserId; parameters["@nvc_grantType"] = request.GrantType; databaseContext.ExecuteStoredProcedureNonQuery(DeleteUserCredentialsSprocName, parameters); } return(new NullResponse()); }