Method PostSearchCase

Summary

Search for court cases

Remarks

This is a general search method for court cases, that has multiple search options.

You can enter the following combinations to search on:

It will return all cases that the defendent owes money for. So multiple cases may be returned even if you enter a specific case number.

Input Parameters

NameTypeLengthDescription
caseNumber System.String 20 Case Number
defendentLastName System.String 20 Defendent's last name
defendentDOB mmddyyyy 8 Defendent's Date of birth
paymentPlanNumber numeric 11 Payment plan number
defendentDriversLicense System.String 20 Defendent's drivers license number
defendentLicenseState System.String 2 Defendent's drivers license state
ticketNumber System.String 11 Ticket Number
tagNumber System.String 11 Defendent's license plate number
tagState System.String 2 Defendent's license plate state

Example

POST http://localhost/FusionServices/v2/Naviline/CaseManagement/SearchCase

Return Values

NameDescription
SearchMode letter code indicating the type of search performed
Section Section
Application Application the case was created in. CS = Case Management
CaseNumber Case Number of the case returned
TicketNumber Ticket Number
ViolationDate Date of Violation. Format: MMDDYYYY
ViolationDescription Violation description
ViolationSequenceNumber Violation sequence number
TotalBalanceDue Total balance Amount due
BalanceDue Balance due Amount
PaymentPlanAmount Installment Amount for payment plan
DateOfBirth Defendent's Date of birth. Format: MMDDYYYY
CaseID internal case id
DEFNID DEF CPF ID
MRCSID MR Customer ID used for payments
MRNUM MR Master ID used for payments
CashReceiptsApp App code for cash receips app. CR = Cash Receipts
PlanID Payment plan ID
Name Defendent's name. Last, First
Address Defendent's address
City Defendent's city
State Defendent's state
Zip Defendent's zip code
DueDate Due Date for payment plan. Format: MMDDYYYY
PendingPayment Any pending payment Amount

Sample Responses

Sample Code

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

public void MethodName(parms)
{
   string uri = "http://localhost/FusionServices/v2/Naviline/CaseManagement/SearchCase";
   System.Collections.Specialized.NameValueCollection postParms = 
     new System.Collections.Specialized.NameValueCollection(); 
   // Set paramater values
   postParms.Add("caseNumber",System.Web.HttpUtility.UrlEncode("t00080-13-07a"));

   WebClient req = new WebClient();
   wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
   wc.Headers.Set("X-APPID", "YOURID");
   wc.Headers.Set("X-APPKEY", "YOURKEY");

   byte[] responseBytes = wc.UploadValues(new Uri(uri), "POST", postParms);
   string stringResult = Encoding.UTF8.GetString(responseBytes); 
   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 SearchMode = row["SearchMode"].ToString();
             string Section = row["Section"].ToString();
             string Application = row["Application"].ToString();
             string CaseNumber = row["CaseNumber"].ToString();
             string TicketNumber = row["TicketNumber"].ToString();
             string ViolationDate = row["ViolationDate"].ToString();
             string ViolationDescription = row["ViolationDescription"].ToString();
             string ViolationSequenceNumber = row["ViolationSequenceNumber"].ToString();
             string TotalBalanceDue = row["TotalBalanceDue"].ToString();
             string BalanceDue = row["BalanceDue"].ToString();
             string PaymentPlanAmount = row["PaymentPlanAmount"].ToString();
             string DateOfBirth = row["DateOfBirth"].ToString();
             string CaseID = row["CaseID"].ToString();
             string DEFNID = row["DEFNID"].ToString();
             string MRCSID = row["MRCSID"].ToString();
             string MRNUM = row["MRNUM"].ToString();
             string CashReceiptsApp = row["CashReceiptsApp"].ToString();
             string PlanID = row["PlanID"].ToString();
             string Name = row["Name"].ToString();
             string Address = row["Address"].ToString();
             string City = row["City"].ToString();
             string State = row["State"].ToString();
             string Zip = row["Zip"].ToString();
             string DueDate = row["DueDate"].ToString();
             string PendingPayment = row["PendingPayment"].ToString();
             // TODO - YOUR CODE HERE
        }
   }
}

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 PostSearchCase
   {
       // Add property for each input param in order to map a field to it
       [RegularExpression("^(?=.{0,20}$).*", ErrorMessage = "Must be 20 characters or less. ")]
       public string caseNumber{get; set;}

       [RegularExpression("^(?=.{0,20}$).*", ErrorMessage = "Must be 20 characters or less. ")]
       public string defendentLastName{get; set;}

       [RegularExpression("^(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])(19|20)\\d\\d$", ErrorMessage = "Date values only. Format: MMDDYYYY")]
       public string defendentDOB{get; set;}

       [RegularExpression("[0-9]{0,11}", ErrorMessage = "Numeric values only. Must be 11 digits or less. ")]
       public string paymentPlanNumber{get; set;}

       [RegularExpression("^(?=.{0,20}$).*", ErrorMessage = "Must be 20 characters or less. ")]
       public string defendentDriversLicense{get; set;}

       [RegularExpression("^(?=.{0,2}$).*", ErrorMessage = "Must be 2 characters or less. ")]
       public string defendentLicenseState{get; set;}

       [RegularExpression("^(?=.{0,11}$).*", ErrorMessage = "Must be 11 characters or less. ")]
       public string ticketNumber{get; set;}

       [RegularExpression("^(?=.{0,11}$).*", ErrorMessage = "Must be 11 characters or less. ")]
       public string tagNumber{get; set;}

       [RegularExpression("^(?=.{0,2}$).*", ErrorMessage = "Must be 2 characters or less. ")]
       public string tagState{get; set;}

       public PostSearchCase()
       {
           //Set any defaults here
       }
   }
}
@* NOTE: Use Add->View to add the View. *@
@* NOTE: Check the 'Create strongly-typed view checkbox, and select the PostSearchCase 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.PostSearchCase

@{
   ViewBag.Title = "PostSearchCase";
}

<h2>PostSearchCase</h2>
@using (Html.BeginForm()) {
   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true)
   <fieldset>
   <legend>PostSearchCase</legend>
       <div class="editor-label">
           @Html.LabelFor(model => model.caseNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.caseNumber)
           @Html.ValidationMessageFor(model => model.caseNumber)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.defendentLastName)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.defendentLastName)
           @Html.ValidationMessageFor(model => model.defendentLastName)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.defendentDOB)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.defendentDOB)
           @Html.ValidationMessageFor(model => model.defendentDOB)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.paymentPlanNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.paymentPlanNumber)
           @Html.ValidationMessageFor(model => model.paymentPlanNumber)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.defendentDriversLicense)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.defendentDriversLicense)
           @Html.ValidationMessageFor(model => model.defendentDriversLicense)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.defendentLicenseState)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.defendentLicenseState)
           @Html.ValidationMessageFor(model => model.defendentLicenseState)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.ticketNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.ticketNumber)
           @Html.ValidationMessageFor(model => model.ticketNumber)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.tagNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.tagNumber)
           @Html.ValidationMessageFor(model => model.tagNumber)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.tagState)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.tagState)
           @Html.ValidationMessageFor(model => model.tagState)
       </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/PostSearchCase
public ActionResult PostSearchCase()
{
   // Create a new instance of the model to pick up any default values.
   PostSearchCase model =  new PostSearchCase();

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

// 
// POST: /MyController/PostSearchCase
[HttpPost]
public ActionResult PostSearchCase(FormCollection collection)
{
   string url = "v2/Naviline/CaseManagement/SearchCase";
   // Get the value from each input field
   NameValueCollection inputParms = new NameValueCollection();
   inputParms.Add("caseNumber", collection["caseNumber"]);
   inputParms.Add("defendentLastName", collection["defendentLastName"]);
   inputParms.Add("defendentDOB", collection["defendentDOB"]);
   inputParms.Add("paymentPlanNumber", collection["paymentPlanNumber"]);
   inputParms.Add("defendentDriversLicense", collection["defendentDriversLicense"]);
   inputParms.Add("defendentLicenseState", collection["defendentLicenseState"]);
   inputParms.Add("ticketNumber", collection["ticketNumber"]);
   inputParms.Add("tagNumber", collection["tagNumber"]);
   inputParms.Add("tagState", collection["tagState"]);

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

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