public IHttpActionResult adhocReport(Guid orgId, Guid projId, Guid? locId) {
        DateTime? startDate = grabStartDate();
        DateTime? endDate = grabEndDate();

        var requestQuery = Request.GetQueryNameValuePairs().ToDictionary((key) => key.Key, (value) => value.Value);
        var field = requestQuery["field"];

        var report = AdhocReport.build(orgId, projId, locId, field, startDate, endDate);
        return Ok(report);
      } // adhocReport
      public HttpResponseMessage adhocReportCSV(Guid orgId, Guid projId, Guid? locId) {
        DateTime? startDate = grabStartDate();
        DateTime? endDate = grabEndDate();
        var requestQuery = Request.GetQueryNameValuePairs().ToDictionary((key) => key.Key, (value) => value.Value);
        var field = requestQuery["field"];

        var response = csvStream("adhocReport.csv", new PushStreamContent((stream, Content, context) => {
          var writer = new StreamWriter(stream);
          AdhocReport.buildCSV(writer, orgId, projId, locId, field, startDate, endDate);
        }));

        return response;
      } // adhocReportCSV
      public IHttpActionResult adhocReportField(Guid orgId, Guid projId) {
        var fields = AdhocReport.Classifiers(orgId, projId);

        return Ok(fields);
      }