Method GetRequiredStructureInfo

Summary

Get Structure Data required for application

Remarks

This is used on new applications to get what structure information is required or available to be entered during the application process.

Use GetStructureInfo to get the structure info for an existing application

Input Parameters

NameTypeLengthDescription
sessionNumber numeric 9 [Required] 9 digit session id. Use GetNewPermitSession to get the Session number

Example

GET http://localhost/FusionServices/v2/Naviline/Permit/Application/StructureInfo/000000262

Return Values

NameDescription
CodeType Code type. 1=Generic codes, 2=Structure Information Codes
StructTypeCode Structure type code. Ex CT=Construction type
Required Structure info is required for submission
StructTypeDescription Structure type descritption
FieldType Field type C=char N=numeric
DataFormat Data Format. Ex.: ' .00' for dollar or decimal format required.
ErrorCode 0000 is successful.
ErrorMessage Description of error, if any.
PowerOnDate Power On Date
PowerOnDateAvail Power On Date Available
PowerOnDateReqd Power On Date Required By

Sample Responses

Sample Code

using System.Net;
using Newtonsoft.Json.Linq;

public void MethodName(parms)
{
    string uri = "http://localhost/FusionServices/v3/Naviline/Permit/Application/StructureInfo/000002190";
    WebClient wc = new WebClient();
    wc.Headers.Set("X-APPID", "YOURID");
    wc.Headers.Set("X-APPKEY", "YOURKEY");
    string stringResult = wc.DownloadString(new Uri(uri));
    
    JObject response = JObject.Parse(stringResult);
    string error = response["OutputParms"]["ErrorCode"].ToString();
    if (error == "0000")
    {
        JArray jRows = (JArray)response["Rows"];
        foreach (JObject row in jRows)
        {
             string CodeType = row["CodeType"].ToString();
             string StructTypeCode = row["StructTypeCode"].ToString();
             string Required = row["Required"].ToString();
             string StructTypeDescription = row["StructTypeDescription"].ToString();
             string FieldType = row["FieldType"].ToString();
             string DataFormat = row["DataFormat"].ToString();
             // TODO - YOUR CODE HERE
        }
    }
}

$.get('http://localhost/FusionServices/v3/Naviline/Permit/Application/StructureInfo/000002190', function(response) {
    $('#resultDiv).html(response); 
 });

C# Razor MVC Sample Code

using System;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Collections.Specialized;
using FusionServiceHelper.Models;

// NOTE: Use the namespace generated when you add the class, so that it is correct.
namespace FusionRazor.Models
{
   public class GetRequiredStructureInfo
   {
       // Add property for each input param in order to map a field to it
       [Required(ErrorMessage = "Required")]
       [RegularExpression("[0-9]{0,9}", ErrorMessage = "Numeric values only. Must be 9 digits or less. ")]
       public string sessionNumber{get; set;}

       public GetRequiredStructureInfo()
       {
           //Set any defaults here
           sessionNumber = DefaultData.Get("sessionNumber");
       }
   }
}
@* NOTE: Use Add->View to add the View. *@
@* NOTE: Check the 'Create strongly-typed view checkbox, and select the GetRequiredStructureInfo class. *@
@* NOTE: Select Edit as the Scaffold template. *@
@* NOTE: Use the @model line that is generated at the top.  Replace the rest with the lines below.
@model FusionRazor.Models.GetRequiredStructureInfo

@{
   ViewBag.Title = "GetRequiredStructureInfo";
   string myUrl = "http://localhost/FusionServices/v2/Naviline/Permit/Application/StructureInfo/000000262";
}

<h2>GetRequiredStructureInfo</h2>
@using (Html.BeginForm()) {
   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true)
   <fieldset>
   <legend>GetRequiredStructureInfo</legend>
       <div class="editor-label">Use the fields below to change the values and resubmit.</div>
       <div class="editor-label">
           @Html.LabelFor(model => model.sessionNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.sessionNumber)
           @Html.ValidationMessageFor(model => model.sessionNumber)
       </div>
       <p>
       <input type="submit" value="Submit"/>
       </p>
   </fieldset>

}

@section Scripts {
   @Scripts.Render("~/bundles/jqueryval")
}
using System;
using System.Collections.Specialized;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using FusionServiceHelper.Models;

// NOTE: Replace 'MyController' with the name of your controller.

// 
// GET: /MyController/GetRequiredStructureInfo
public ActionResult GetRequiredStructureInfo()
{
   // Create a new instance of the model to pick up any default values.
   GetRequiredStructureInfo model =  new GetRequiredStructureInfo();

   // pass model to set to default values
   // NOTE: Change 'MyFolderPath' to the path to the .cshtml file.
   return View("~/Views/MyFolderPath/GetRequiredStructureInfo.cshtml", model);
}

// 
// POST: /MyController/GetRequiredStructureInfo
[HttpPost]
public ActionResult GetRequiredStructureInfo(FormCollection collection)
{
   string url = "v2/Naviline/Permit/Application/StructureInfo/000000262";
   // Get the value from each input field
   NameValueCollection inputParms = new NameValueCollection();
   inputParms.Add("sessionNumber", collection["sessionNumber"]);

   try
   {
       // Send the request
       FusionServiceRequest request = new FusionServiceRequest();
       FusionServiceResult result = request.Get(url, inputParms);

       return View("Result", result);
   }
   catch(Exception e)
   {
       HandleErrorInfo info = new HandleErrorInfo(e, "MyController", "GetRequiredStructureInfo");
       return View("Error", info);
   }
}