Build MVC Applications with Connectivity to ApprovalMax Data

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
This article shows how to use only the Entity Framework and the CData ADO.NET provider to access ApprovalMax from an ASP.NET MVC application.

In this article, we will guide you through the process of utilizing wizards within Visual Studio to seamlessly integrate the CData ADO.NET Provider for ApprovalMax into a basic MVC (Model, View, Controller) project.

Create the Entity Framework Model

Follow the steps below to save connection properties and map tables to entities in the data model.

  1. Create a new MVC project in Visual Studio. In this example, the project name is MvcAPIApp.
  2. If you are using Entity Framework 6, you will need to take the preliminary step of registering the ApprovalMax Entity Framework provider for your project. See the "LINQ and Entity Framework" chapter in the help documentation for a guide.

    Note that MVC 3 scaffolding and MVC 4 scaffolding do not support Entity Framework 6. You can use your scaffolding with Entity Framework 6 by upgrading to the latest version of MVC.
  3. To add the .edmx file from the designer, right-click your Models folder and click Add New Item. Select ADO.NET Entity Data Model, name the model, and click Add. In this example, the name of the model is APIModel.
  4. In the Entity Data Model wizard, select the option 'EF Designer from database'. The Entity Data Model wizard is displayed.
  5. Click New Connection. Select CData ApprovalMax Data Source in the dialog that is displayed.
  6. Specify the required connection string properties.

    Start by setting the Profile connection property to the location of the ApprovalMax Profile on disk (e.g. C:\profiles\ApprovalMax.apip). Next, set the ProfileSettings connection property to the connection string for ApprovalMax (see below).

    ApprovalMax API Profile Settings

    To authenticate to ApprovalMax and connect to your own data or to allow other users to connect to their data, the ApprovalMax Public API requires the OAuth 2.0 authorization code flow.

    First, you will need to register an OAuth application with ApprovalMax. Sign in to the ApprovalMax Developer Portal (https://developer.approvalmax.com/applications) and create a new application. Your OAuth application will be assigned a Client ID and a Client Secret, and you must register at least one Redirect URI (Callback URL).

    A Premium ApprovalMax subscription (or active trial) is required to use the Public API.

    After setting the following connection properties, you are ready to connect:

    • AuthScheme: Set this to OAuth.
    • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.
    • OAuthClientId: Set this to the Client ID that is shown in your application settings on the ApprovalMax Developer Portal.
    • OAuthClientSecret: Set this to the Client Secret that is shown in your application settings on the ApprovalMax Developer Portal.
    • CallbackURL: Set this to the Redirect URI that is registered in your application settings.
    • Scope: (Optional) Override the default OAuth scopes. The default value openid offline_access https://www.approvalmax.com/scopes/public_api/read grants read-only access to all tables in this profile and enables refresh tokens. Use the principle of least privilege when narrowing this scope.

    The OAuth Authorization URL is https://identity.approvalmax.com/connect/authorize and the Token URL is https://identity.approvalmax.com/connect/token. Both authorization_code and refresh_token grant types are supported.

    A typical connection string is below:

    Profile=C:\profiles\ApprovalMax.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=your_callback_url;
    The connection for the model. (QuickBooks is shown.)
  7. Name the connection and select whether to include sensitive information, such as connection credentials, in the connection string. For simplicity, this example saves sensitive information in Web.config. The connection settings are saved as APIEntities.

    The completed connection step in the ADO.NET Entity Data Model wizard. (A QuickBooks connection is shown.)
  8. Select the views you need. In this example, UserProfiles is imported. Also, the option to pluralize object names is deselected in this example. Click Finish to create the .edmx file.Tables to be imported into the .edmx file. (QuickBooks is shown.)
  9. Build your project to complete this step.

Scaffold the Controller and Views

Once you've established the model and completed the project build, you can employ ASP.NET Scaffolding wizards to generate both the controller and the views.

  1. In Solution Explorer, right-click the controllers folder and click Add -> Controller. Select MVC 5 Controller with views, using Entity Framework.
  2. In the Add Controller dialog that is then displayed, select the following options:
    • Model class: Select a table you imported; for example, UserProfiles.
    • Data context class: Select your context class.
  3. Leave the default values for the other fields. Creating a new controller from an existing entity data model in the Add Controller dialog in MVC 5. (QuickBooks is shown.)

You can now access the list of UserProfiles records at http://MySite/UserProfiles. With every state change the site picks up any data changes. The live table. (QuickBooks is shown.)

Ready to get started?

Connect to live data from ApprovalMax with the API Driver

Connect to ApprovalMax