The Department of Labor Developer Community

.Net DOL Data SDK Sample

Table of contents

    SDK ZIP: 

    Overview

    This sample will provide the steps to create a simple Dot Net web application that can consume DOL Data or DOL Service Operation (Beta Version). Following these steps in order will allow your application to operate correctly.
     

    This solution was built using:

     

     

    Create a New Project

     

    For this sample we are going to create a web site that will consume and list Agency data.

    New Project

    Select the default ASP.NET Web Site and confirm web site details in the project setup page for DOL Data.

    Project Details

     

    Select the ASP.NET MVC3 Web Application and confirm web site details in the project setup page for DOL Service Operation (Beta Version).

    Project Details

     

     

    Add SDK to Project

     

    All request require account credentials to be submitted along with the request. The SDK was designed to manage this and can be downloaded at one of these two locations:

    This SDK contains a DOLDataUtil class which is in DOLDataUtil.cs. This file needs to be included into your solution. For this demo DOLDataUtil.cs will be placed in the App_Code folder.

    Add SDK File

     

    Add SDK to Project for DOL Service Operation (Beta Version)

    Add SDK File

     

    Locate the Dataset Path

     

    Each Dataset has a Dataset Location path that gives the URL that will be needed to reach the Dataset on the API. For the standard DOL Agency dataset sample please use http://api.dol.gov/V1/DOLAgency

    Add Service Reference

    For the DOL Service Operation sample please use http://api.dol.gov/V1/SummerJobs

    Add Service Reference

    Add Service Reference to Project

    This path is used by the Add Service Reference Tool within visual studios.

    Add Service Reference

     

    Enter the Dataset Location Path into the Address and select the service from the list.

    Add Service Reference

     

     

    Enter the Dataset Location Path into the Address and select the service from the list for DOL Service Operation (Beta Version).

    Add Service Reference

     

     

    Define the User Interface

     

    Add a simple GridView to the Default.aspx page..
     

    <asp:GridView ID=”AgenciesView” runat=”Server” AutoGenerateColumns=”False”>
    	<Columns>
    		<asp:BoundField DataField=”Agency” HeaderText=”Agency” />
    		<asp:BoundField DataField=”AgencyFullName” HeaderText=”Agency Full Name” />
    	</Columns>
    </asp:GridView>

     

    For Service Operation

    This call return Json data which can be added directly to the view. Add this javascript to the application to inject this JSON directly to the script.
     

    <script type="text/javascript">
    var jsonData = @Html.Raw(ViewBag.JsonData);
    
    $(document).ready(function () {
    	var builder=[];
    	for(var i=0; i < jsonData.items.length; i++)
    	{
    		builder.push("<span>" + " " + jsonData.items[i].title + "</span><br/>");
    	}
    	
    	$('p').html(builder.join(''));
    });
    </script>

     

     

    Implementing the DOL Data Request

     

    Include Using statements to reference the appropriate classes.
     

    using System.Data.Services.Client;
    using gov.dol.doldata.util;
    using ServiceReference1;

     

     

     

    Create and instance of the FormsEntity using the Dataset Location path found for the feed referenced by your Service Reference.
    Wire the DOLDataUtil.service_SendingRequest static method to the entity.SendingRequest event handler.
     

    protected void Page_Load(object sender, EventArgs e)
    {
    	AgencyEntities entity = new AgencyEntities(new Uri(“http://api.dol.gov/V1/DOLAgency”));
    	entity.SendingRequest += new EventHandler<SendingRequestEventArgs>(DOLDataUtil.service_SendingRequest);
    	AgenciesView.DataSource = entity.Agencies;
    	AgenciesView.DataBind();
    }

     

     

    Implementing the DOL Data Request for Service Operation

     

     

    public ActionResult Index()
    {
    	ViewBag.Message = "Welcome to ASP.NET MVC!";
    	SummerJobsCall proxy = new SummerJobsCall(new Uri("http://api.dol.gov/V1/SummerJobs"));
    	proxy.SendingRequest += new EventHandler<System.Data.Services.Client.SendingRequestEventArgs>
    		(gov.dol.doldata.util.DOLDataUtil.service_SendingRequest);
    		
    	string jsonData = proxy.Execute<string>(
    		new Uri("getJobsListing?format=json&region=&locality=&zip=&employmentType=%27Any%27SkipCount=1&query=%27Nurse%27", UriKind.Relative)
    		).FirstOrDefault().Replace("\\n", "").Replace("\\\"", "\"").Trim('\"');
    		
    	return View();
    }
    

    Configure Security

    Once the SDK has been added to the project, we will need to modify both the ApiKey and the SharedSecret members of this class to access DOL Data.
    Edit the DOLDataUtil class within the DOLDataUtil.cs file.

    • The ApiKey corresponds to the Token identifier in your token list.
    • The SharedSecret created during setup is the same value that is used in the DOLDataUtil class.
    • *Note: DOLDataUtil Class may be inaccessable due to its current access specifier. Precede with public keyword to resolve this problem.

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Security.Cryptography;
    using System.Data.Services.Client;
    
    namespace gov.dol.doldata.util
    {
    	public static class DOLDataUtil
    	{
    		//Define API Key and Shared Secret
    		private const string ApiKey = "ADD YOUR API KEY";
    		private const string SharedSecret = "ADD YOUR SHARED SECRET";

     

     

    Run the Application

     

    Run the application and you should see a list of agencies in the grid.

    Implement code

    Run the application for Service Operation and you should see a list of job titles.

    Implement code

    Tags: 

    Back to Top