PostWRJobOrderStatusUpdate
Name | Type | Length | Description |
---|---|---|---|
workReqNbr | System.String | 9 | [Required] Work Request Number |
reqStatus | System.String | 2 | [Required] Requested status change for work request or job order (see remarks) |
statusChgDate | System.String | 8 | [Required] Status change date (numeric – YYYYMMDD) – used to update pertinent associated dates for requested status change action, i.e., for completion it will be used for the actual completion date, for close it will be used for the close date, etc. |
jobOrderNbr | System.String | 3 | [Required] Job order number (numeric) – required when updating the status of a job order. Should be zero when requesting to update the status of work request. |
spawnJobOrder | System.String | 3 | Must be specified if you want base configuration to be applied (‘Yes’). Any value other than ‘Yes’ will cause the base configuration to be ignored. Values: Yes/No |
System.String | 3 | Required when status is “IS”. Values: Yes/No | |
actualCompletionTIme | System.String | 6 | Actual completion time (numeric – military time) Note: May be required by request category. |
actionTaken | System.String | 4 | Action taken. Note: May be required by request category. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
actualStartDate | System.String | 8 | Actual start date (numeric – YYYYMMDD). Note: May be required by request category. |
actualStartTime | System.String | 6 | Actual completion time (numeric – military time). Note: May be required by request category. |
uopCode | System.String | 6 | UOP code. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
uopQuantity | System.String | 9 | UOP quantity |
relatedWRNbr | System.String | 9 | Related work request number. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
unitizationMethod | System.String | 1 | Unitization method. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
depRateCode | System.String | 3 | Depreciation rate code. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
depConvention | System.String | 1 | Depreciation convention. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
subAcctGroup | System.String | 2 | Subaccount group. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
subAcct | System.String | 5 | Subaccount. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
genMiscCharge | System.String | 3 | Generate miscellaneous charge – If not supplied (blank) during the completion process then the default will be used to generate the miscellaneous charge when pre-defined, otherwise no charge would be generated. Values: Yes/No. NOTE: Not applicable for non-CIS work requests. Only applicable on complete or close of a work request. |
resultComments | System.String | 5000 | Result comments |
billWR | System.String | 3 | Bill work request. Values: Yes/No. |
miscChargeCode | System.String | 2 | CIS miscellaneous charge code. Note: A value of ‘*’ should be sent if you wish to blank out this value. |
miscChargeAmt | System.String | 11 | CIS miscellaneous charge amount. |
POST http://localhost/FusionServices/v3/Naviline/WorkOrders/WRJobOrderStatusUpdate
Name | Description |
---|---|
OUT_ERRCDE | 0000 |
OUT_ERRDSC | Work request/job order, WF0180937/1, status was updated. |
using System.Net;
using Newtonsoft.Json.Linq;
public void MethodName(parms)
{
string uri = "http://localhost/FusionServices/v3/Naviline/WorkOrders/WRJobOrderStatusUpdate";
System.Collections.Specialized.NameValueCollection postParms =
new System.Collections.Specialized.NameValueCollection();
// Set paramater values
postParms.Add("workReqNbr",System.Web.HttpUtility.UrlEncode("WF0180937"));
postParms.Add("reqStatus",System.Web.HttpUtility.UrlEncode("RD"));
postParms.Add("statusChgDate",System.Web.HttpUtility.UrlEncode("20220712"));
postParms.Add("jobOrderNbr",System.Web.HttpUtility.UrlEncode("1"));
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")
{
// TODO - YOUR CODE HERE
}
}
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 PostWRJobOrderStatusUpdate
{
// Add property for each input param in order to map a field to it
[Required(ErrorMessage = "Required")]
[RegularExpression("^(?=.{0,9}$).*", ErrorMessage = "Must be 9 characters or less. ")]
public string workReqNbr{get; set;}
[Required(ErrorMessage = "Required")]
[RegularExpression("^(?=.{0,2}$).*", ErrorMessage = "Must be 2 characters or less. ")]
public string reqStatus{get; set;}
[Required(ErrorMessage = "Required")]
[RegularExpression("^(?=.{0,8}$).*", ErrorMessage = "Must be 8 characters or less. ")]
public string statusChgDate{get; set;}
[Required(ErrorMessage = "Required")]
[RegularExpression("^(?=.{0,3}$).*", ErrorMessage = "Must be 3 characters or less. ")]
public string jobOrderNbr{get; set;}
[RegularExpression("^(?=.{0,3}$).*", ErrorMessage = "Must be 3 characters or less. ")]
public string spawnJobOrder{get; set;}
[RegularExpression("^(?=.{0,3}$).*", ErrorMessage = "Must be 3 characters or less. ")]
public string print{get; set;}
[RegularExpression("^(?=.{0,6}$).*", ErrorMessage = "Must be 6 characters or less. ")]
public string actualCompletionTIme{get; set;}
[RegularExpression("^(?=.{0,4}$).*", ErrorMessage = "Must be 4 characters or less. ")]
public string actionTaken{get; set;}
[RegularExpression("^(?=.{0,8}$).*", ErrorMessage = "Must be 8 characters or less. ")]
public string actualStartDate{get; set;}
[RegularExpression("^(?=.{0,6}$).*", ErrorMessage = "Must be 6 characters or less. ")]
public string actualStartTime{get; set;}
[RegularExpression("^(?=.{0,6}$).*", ErrorMessage = "Must be 6 characters or less. ")]
public string uopCode{get; set;}
[RegularExpression("^(?=.{0,9}$).*", ErrorMessage = "Must be 9 characters or less. ")]
public string uopQuantity{get; set;}
[RegularExpression("^(?=.{0,9}$).*", ErrorMessage = "Must be 9 characters or less. ")]
public string relatedWRNbr{get; set;}
[RegularExpression("^(?=.{0,1}$).*", ErrorMessage = "Must be 1 characters or less. ")]
public string unitizationMethod{get; set;}
[RegularExpression("^(?=.{0,3}$).*", ErrorMessage = "Must be 3 characters or less. ")]
public string depRateCode{get; set;}
[RegularExpression("^(?=.{0,1}$).*", ErrorMessage = "Must be 1 characters or less. ")]
public string depConvention{get; set;}
[RegularExpression("^(?=.{0,2}$).*", ErrorMessage = "Must be 2 characters or less. ")]
public string subAcctGroup{get; set;}
[RegularExpression("^(?=.{0,5}$).*", ErrorMessage = "Must be 5 characters or less. ")]
public string subAcct{get; set;}
[RegularExpression("^(?=.{0,3}$).*", ErrorMessage = "Must be 3 characters or less. ")]
public string genMiscCharge{get; set;}
[RegularExpression("^(?=.{0,5000}$).*", ErrorMessage = "Must be 5000 characters or less. ")]
public string resultComments{get; set;}
[RegularExpression("^(?=.{0,3}$).*", ErrorMessage = "Must be 3 characters or less. ")]
public string billWR{get; set;}
[RegularExpression("^(?=.{0,2}$).*", ErrorMessage = "Must be 2 characters or less. ")]
public string miscChargeCode{get; set;}
[RegularExpression("^(?=.{0,11}$).*", ErrorMessage = "Must be 11 characters or less. ")]
public string miscChargeAmt{get; set;}
public PostWRJobOrderStatusUpdate()
{
//Set any defaults here
}
}
}
@* NOTE: Use Add->View to add the View. *@
@* NOTE: Check the 'Create strongly-typed view checkbox, and select the PostWRJobOrderStatusUpdate 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.PostWRJobOrderStatusUpdate
@{
ViewBag.Title = "PostWRJobOrderStatusUpdate";
}
<h2>PostWRJobOrderStatusUpdate</h2>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>PostWRJobOrderStatusUpdate</legend>
<div class="editor-label">
@Html.LabelFor(model => model.workReqNbr)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.workReqNbr)
@Html.ValidationMessageFor(model => model.workReqNbr)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.reqStatus)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.reqStatus)
@Html.ValidationMessageFor(model => model.reqStatus)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.statusChgDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.statusChgDate)
@Html.ValidationMessageFor(model => model.statusChgDate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.jobOrderNbr)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.jobOrderNbr)
@Html.ValidationMessageFor(model => model.jobOrderNbr)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.spawnJobOrder)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.spawnJobOrder)
@Html.ValidationMessageFor(model => model.spawnJobOrder)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.print)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.print)
@Html.ValidationMessageFor(model => model.print)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.actualCompletionTIme)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.actualCompletionTIme)
@Html.ValidationMessageFor(model => model.actualCompletionTIme)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.actionTaken)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.actionTaken)
@Html.ValidationMessageFor(model => model.actionTaken)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.actualStartDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.actualStartDate)
@Html.ValidationMessageFor(model => model.actualStartDate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.actualStartTime)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.actualStartTime)
@Html.ValidationMessageFor(model => model.actualStartTime)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.uopCode)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.uopCode)
@Html.ValidationMessageFor(model => model.uopCode)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.uopQuantity)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.uopQuantity)
@Html.ValidationMessageFor(model => model.uopQuantity)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.relatedWRNbr)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.relatedWRNbr)
@Html.ValidationMessageFor(model => model.relatedWRNbr)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.unitizationMethod)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.unitizationMethod)
@Html.ValidationMessageFor(model => model.unitizationMethod)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.depRateCode)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.depRateCode)
@Html.ValidationMessageFor(model => model.depRateCode)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.depConvention)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.depConvention)
@Html.ValidationMessageFor(model => model.depConvention)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.subAcctGroup)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.subAcctGroup)
@Html.ValidationMessageFor(model => model.subAcctGroup)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.subAcct)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.subAcct)
@Html.ValidationMessageFor(model => model.subAcct)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.genMiscCharge)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.genMiscCharge)
@Html.ValidationMessageFor(model => model.genMiscCharge)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.resultComments)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.resultComments)
@Html.ValidationMessageFor(model => model.resultComments)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.billWR)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.billWR)
@Html.ValidationMessageFor(model => model.billWR)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.miscChargeCode)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.miscChargeCode)
@Html.ValidationMessageFor(model => model.miscChargeCode)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.miscChargeAmt)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.miscChargeAmt)
@Html.ValidationMessageFor(model => model.miscChargeAmt)
</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/PostWRJobOrderStatusUpdate
public ActionResult PostWRJobOrderStatusUpdate()
{
// Create a new instance of the model to pick up any default values.
PostWRJobOrderStatusUpdate model = new PostWRJobOrderStatusUpdate();
// pass model to set to default values
// NOTE: Change 'MyFolderPath' to the path to the .cshtml file.
return View("~/Views/MyFolderPath/PostWRJobOrderStatusUpdate.cshtml", model);
}
//
// POST: /MyController/PostWRJobOrderStatusUpdate
[HttpPost]
public ActionResult PostWRJobOrderStatusUpdate(FormCollection collection)
{
string url = "v3/Naviline/WorkOrders/WRJobOrderStatusUpdate";
// Get the value from each input field
NameValueCollection inputParms = new NameValueCollection();
inputParms.Add("workReqNbr", collection["workReqNbr"]);
inputParms.Add("reqStatus", collection["reqStatus"]);
inputParms.Add("statusChgDate", collection["statusChgDate"]);
inputParms.Add("jobOrderNbr", collection["jobOrderNbr"]);
inputParms.Add("spawnJobOrder", collection["spawnJobOrder"]);
inputParms.Add("print", collection["print"]);
inputParms.Add("actualCompletionTIme", collection["actualCompletionTIme"]);
inputParms.Add("actionTaken", collection["actionTaken"]);
inputParms.Add("actualStartDate", collection["actualStartDate"]);
inputParms.Add("actualStartTime", collection["actualStartTime"]);
inputParms.Add("uopCode", collection["uopCode"]);
inputParms.Add("uopQuantity", collection["uopQuantity"]);
inputParms.Add("relatedWRNbr", collection["relatedWRNbr"]);
inputParms.Add("unitizationMethod", collection["unitizationMethod"]);
inputParms.Add("depRateCode", collection["depRateCode"]);
inputParms.Add("depConvention", collection["depConvention"]);
inputParms.Add("subAcctGroup", collection["subAcctGroup"]);
inputParms.Add("subAcct", collection["subAcct"]);
inputParms.Add("genMiscCharge", collection["genMiscCharge"]);
inputParms.Add("resultComments", collection["resultComments"]);
inputParms.Add("billWR", collection["billWR"]);
inputParms.Add("miscChargeCode", collection["miscChargeCode"]);
inputParms.Add("miscChargeAmt", collection["miscChargeAmt"]);
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", "PostWRJobOrderStatusUpdate");
return View("Error", info);
}
}