void _recordContext_Saving(object sender, System.ComponentModel.CancelEventArgs e) { _recordContext.TriggerNamedEvent("OnSaving"); if (IsCanceled == true) { e.Cancel = true; IsCanceled = false; } }
/// <summary> /// Funtion to handle ebs webservice response /// </summary> /// <param name="respJson">response in jSON string</param> public void ExtractResponse(string jsonResp, int numOfVIN, int shipToSiteID, int partOdrInstrID) { Dictionary <String, object> retunTblItem; //Extract response var deserializeJson = new JavaScriptSerializer().Deserialize <dynamic>(jsonResp); Dictionary <String, object> data = (Dictionary <string, object>)deserializeJson; Dictionary <String, object> outputParameters = (Dictionary <String, object>)data["OutputParameters"]; Dictionary <String, object> returnTbl = (Dictionary <String, object>)outputParameters["P_RETURN_TBL"]; //Check if its an array, is so extract first element if (IsArray(returnTbl["P_RETURN_TBL_ITEM"])) { object[] tblItems = (object[])returnTbl["P_RETURN_TBL_ITEM"]; retunTblItem = (Dictionary <string, object>)tblItems[0]; } else { retunTblItem = (Dictionary <String, object>)returnTbl["P_RETURN_TBL_ITEM"]; } if (retunTblItem["HASERROR"].ToString() == "0")//If Success { //if (partsOrderID != 0) //{ string salesOrderNum = retunTblItem["SALES_ORDER_NO"].ToString(); //Update PartsOrder Object with SalesOrder Number and other Reported Incident Info _rnConnectService.UpdatePartsOrder(_lineRecords, salesOrderNum, numOfVIN, _partsHeaderRecord, shipToSiteID, partOdrInstrID); //Clear out some of Reported Incident field that were specific for this order only for Retrofit case only if (partOdrInstrID > 0) { IRecordContext recordContext = ReportCommandAddIn._globalContext.AutomationContext.CurrentWorkspace; recordContext.TriggerNamedEvent("clearPartsOrderFields"); } //} } else { //Destroy the partsorder objects _rnConnectService.DestroyPartsOrder(_lineRecords); ReportCommandAddIn.form.Hide(); MessageBox.Show(retunTblItem["DESCRIPTION"].ToString()); } }
void SaveRepairOrderToServer(decimal sr_id) { string logMessage = "Create/Update RO."; string logNote = ""; _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); string ro_saved_num; RepairOrder ro = null; ro = new RepairOrder(); ro.ServiceRequestID = sr_id; if (_repairOrderControl.isAddingRO == true) { //Create Additional RO ro.Quantity = Convert.ToDecimal(_repairOrderControl.InputQuantity); ro.UnitOfMeasure = _repairOrderControl.SelectedUnit; ro.InventoryItemID = this.currentInventoryItemID; ro.SerialNumber = this.current_serial_num; ro.ApprovalRequired = _repairOrderControl.SelectedApprovalRequired; ro.Currency = "USD"; ro.ResourceID = _ebsDefaultSrOwnerId; ro.ProblemDescription = _repairOrderControl.InputProblem; ro.HasValidSerialNumber = "Y"; } else if (_repairOrderControl.isChangingRO == true) { //Edit RO ro.RepairNumber = _repairOrderControl.changingRONum; ro.RepairStatus = selected_status; ro.RepairStatusID = selected_status_id; ro.StoredRepairStatus = stored_status; ro.StoredRepairStatusID = stored_status_id; } try { if (_repairOrderControl.isChangingRO == true) { logMessage = "Ready to update Repair Order. SR ID = " + sr_id + "; RO Number = " + ro.RepairLineID; logNote = ""; _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); ro_saved_num = ro.Update(_logIncidentId, 0); } else { logMessage = "Ready to update Repair Order. RO Number = " + ro.RepairLineID; logNote = ""; _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); ro_saved_num = ro.Create(_logIncidentId, 0); } } catch (Exception ex) { string message = ex.Message; MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); logMessage = "Error in creating/updating Repair Order.Error Message: " + ex.Message; logNote = ""; _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); return; } if (ro_saved_num == "-1") { //Cannot change status between statuses string message = ro.ErrorMessage; MessageBox.Show(message, "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information); logMessage = "Error in creating/updating RepairOrder. " + message; _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage); return; } else if (String.IsNullOrEmpty(ro_saved_num)) { string message = "There has been an error communicating with EBS. Please check log for detail."; MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); logMessage = "Error in creating/updating RepairOrder. Response's error message: " + ro.ErrorMessage; logNote = ""; _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); return; } else { // Save successfully logMessage = "Creating/updating Repair Order successfully. RO Num = " + ro.RepairLineID; logNote = ""; _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); _repairOrderControl.previousRONum = ro_saved_num; if (!isEnabledEditing) { string message = "Repair Order has been created in EBS. Do you want to refresh current Repair Order List?"; DialogResult result = MessageBox.Show(message, "Notice", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { _recordContext.TriggerNamedEvent("CancelCreatingRO"); _recordContext.ExecuteEditorCommand(RightNow.AddIns.Common.EditorCommand.Refresh); } } } }