Method GetEmployeePosition

Summary

Get Employee Positions

Remarks

Gets current and previous positions held by employee

Input Parameters

NameTypeLengthDescription
userNumber numeric 10 [Required] User Number. May need to be padded left with zeros to make it 10 digits.
userPIN numeric 10 [Required] User Number. May need to be padded left with zeros to make it 10 digits.
rows numeric 4 [Required] Number of rows to return. Used with paging
pageNumber numeric 5 [Required] Page number to return. Used with paging

Example

GET http://localhost/FusionServices/v3/Naviline/EmployeeSelfService/EmployeePosition/{userNumber}/{userPIN}/{rows}/{pageNumber}

Return Values

NameDescription
ErrorCode 0000=Success, 0001=Not found
ErrorMessage Message returned with error code
ROWS Number of rows returned
MORE More rows to return? Y/N
UserNumber User Number
UserPIN User PIN
LastName Last Name
FirstName First Name
MiddleInitial Middle Initial
PositionNumber Position Number
PositionTitle Position Title
EmployeeStatusCode Employee Satus Code
EmployeeStatusDesc Employee Status Description
FullPartTime Full or Part-Time position F=Full, P=Part-Time
StartMonth Start Month
StartDay Start Day
StartYear Start Year (2-digit)
Current Current position. 1=Yes, 0=No
EndMonth End Month
EndDay End Day
EndYear End Year (2-digit)
Terminated Position was terminated. 1=Yes, 0=No
TerminationMonth Termination Month
TerminationDay Termination Day
TerminationYear Termination Year (2-digit)
Flag22 Flag. 1=Yes, 0=No
PayTypeCode Pay Type Code
PayTypeDesc Pay Type Desc

Sample Responses

Sample Code

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

public void MethodName(parms)
{
    string uri = "http://localhost/FusionServices/v3/Naviline/EmployeeSelfService/EmployeePosition/245781227/245781227/0030/00001";
    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 UserNumber = row["UserNumber"].ToString();
             string UserPIN = row["UserPIN"].ToString();
             string LastName = row["LastName"].ToString();
             string FirstName = row["FirstName"].ToString();
             string MiddleInitial = row["MiddleInitial"].ToString();
             string PositionNumber = row["PositionNumber"].ToString();
             string PositionTitle = row["PositionTitle"].ToString();
             string EmployeeStatusCode = row["EmployeeStatusCode"].ToString();
             string EmployeeStatusDesc = row["EmployeeStatusDesc"].ToString();
             string FullPartTime = row["FullPartTime"].ToString();
             string StartMonth = row["StartMonth"].ToString();
             string StartDay = row["StartDay"].ToString();
             string StartYear = row["StartYear"].ToString();
             string Current = row["Current"].ToString();
             string EndMonth = row["EndMonth"].ToString();
             string EndDay = row["EndDay"].ToString();
             string EndYear = row["EndYear"].ToString();
             string Terminated = row["Terminated"].ToString();
             string TerminationMonth = row["TerminationMonth"].ToString();
             string TerminationDay = row["TerminationDay"].ToString();
             string TerminationYear = row["TerminationYear"].ToString();
             string Flag22 = row["Flag22"].ToString();
             string PayTypeCode = row["PayTypeCode"].ToString();
             string PayTypeDesc = row["PayTypeDesc"].ToString();
             // TODO - YOUR CODE HERE
        }
    }
}

$.get('http://localhost/FusionServices/v3/Naviline/EmployeeSelfService/EmployeePosition/245781227/245781227/0030/00001', 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 GetEmployeePosition
   {
       // Add property for each input param in order to map a field to it
       [Required(ErrorMessage = "Required")]
       [RegularExpression("[0-9]{0,10}", ErrorMessage = "Numeric values only. Must be 10 digits or less. ")]
       public string userNumber{get; set;}

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

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

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

       public GetEmployeePosition()
       {
           //Set any defaults here
           userNumber = DefaultData.Get("userNumber");
           userPIN = DefaultData.Get("userPIN");
           rows = DefaultData.Get("rows");
           pageNumber = DefaultData.Get("pageNumber");
       }
   }
}
@* NOTE: Use Add->View to add the View. *@
@* NOTE: Check the 'Create strongly-typed view checkbox, and select the GetEmployeePosition 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.GetEmployeePosition

@{
   ViewBag.Title = "GetEmployeePosition";
   string myUrl = "http://localhost/FusionServices/v3/Naviline/EmployeeSelfService/EmployeePosition/" + Model.userNumber + "/" + Model.userPIN + "/" + Model.rows + "/" + Model.pageNumber;
}

<h2>GetEmployeePosition</h2>
@using (Html.BeginForm()) {
   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true)
   <fieldset>
   <legend>GetEmployeePosition</legend>
       <div class="editor-label">Use the fields below to change the values and resubmit.</div>
       <div class="editor-label">
           @Html.LabelFor(model => model.userNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.userNumber)
           @Html.ValidationMessageFor(model => model.userNumber)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.userPIN)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.userPIN)
           @Html.ValidationMessageFor(model => model.userPIN)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.rows)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.rows)
           @Html.ValidationMessageFor(model => model.rows)
       </div>
       <div class="editor-label">
           @Html.LabelFor(model => model.pageNumber)
       </div>
       <div class="editor-field">
           @Html.EditorFor(model => model.pageNumber)
           @Html.ValidationMessageFor(model => model.pageNumber)
       </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/GetEmployeePosition
public ActionResult GetEmployeePosition()
{
   // Create a new instance of the model to pick up any default values.
   GetEmployeePosition model =  new GetEmployeePosition();

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

// 
// POST: /MyController/GetEmployeePosition
[HttpPost]
public ActionResult GetEmployeePosition(FormCollection collection)
{
   string url = "v3/Naviline/EmployeeSelfService/EmployeePosition/{userNumber}/{userPIN}/{rows}/{pageNumber}";
   // Get the value from each input field
   NameValueCollection inputParms = new NameValueCollection();
   inputParms.Add("userNumber", collection["userNumber"]);
   inputParms.Add("userPIN", collection["userPIN"]);
   inputParms.Add("rows", collection["rows"]);
   inputParms.Add("pageNumber", collection["pageNumber"]);

   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", "GetEmployeePosition");
       return View("Error", info);
   }
}