/// <summary> /// Method which is called when any Workspace Rule Action is invoked. /// </summary> /// <param name="ActionName">The name of the Workspace Rule Action that was invoked.</param> public void RuleActionInvoked(string ActionName) { string fieldVal = ""; switch (ActionName) { case "PartsPriceAdj": _partsRecord = _recordContext.GetWorkspaceRecord(_recordContext.WorkspaceTypeName) as IGenericObject; fieldVal = GetFieldValue("part_price", _partsRecord); //Get value SetFieldValue("part_price_adj", fieldVal, _partsRecord); break; case "LaborRateAdj": _laborRecord = _recordContext.GetWorkspaceRecord(_recordContext.WorkspaceTypeName) as IGenericObject; fieldVal = GetFieldValue("labor_rate_rqstd", _laborRecord); //Get value SetFieldValue("labor_rate_adj", fieldVal, _laborRecord); break; case "OtherChargesAdj": _otherchRecord = _recordContext.GetWorkspaceRecord(_recordContext.WorkspaceTypeName) as IGenericObject; fieldVal = GetFieldValue("other_charges_amount", _otherchRecord);//Get value SetFieldValue("other_charges_amount_adj", fieldVal, _otherchRecord); break; default: break; } _recordContext.RefreshWorkspace();//refresh the workspace }
/// <summary> /// Method which is called when any Workspace Rule Action is invoked. /// </summary> /// <param name="ActionName">The name of the Workspace Rule Action that was invoked.</param> public void RuleActionInvoked(string ActionName) { if (ActionName == "WorkOrderArea") { //ICustomObject record = _recordContext.GetWorkspaceRecord(_recordContext.WorkspaceTypeName) as ICustomObject; workOrderAreaControl.GetWorkOrderAreas(_recordContext); _recordContext.RefreshWorkspace(); } }
/// <summary> /// Method which is called when any Workspace Rule Action is invoked. /// </summary> /// <param name="ActionName">The name of the Workspace Rule Action that was invoked.</param> public void RuleActionInvoked(string ActionName) { _laborRecord = _recordContext.GetWorkspaceRecord(_recordContext.WorkspaceTypeName) as ICustomObject; if (ActionName.Contains("DecimalConvert")) { string fielName = ActionName.Split('@')[1]; //Get the field name, which was changed string fieldVal = GetFieldValue(fielName); //Get value string convertedFieldValue = Decimalconversion(fieldVal, fielName); //Convert it 2 decimal if (convertedFieldValue != "") { SetFieldValue(fielName, convertedFieldValue); //set the value } _recordContext.RefreshWorkspace(); //refresh the workspace } if (ActionName.Contains("getOrgRate")) { string orgLaborRate = getOrgField("CO", "labor_rate"); if (orgLaborRate == "") { MessageBox.Show(_orgRecord.Name + " doesn't have any labor rate"); } if (ActionName == "getOrgRateClaim") { SetFieldValue("labor_rate_adj", orgLaborRate); } else { SetFieldValue("labor_rate_rqstd_org", orgLaborRate); } } if (ActionName.Contains("@CopyTO@")) { string[] fields = ActionName.Split(new string[] { "@CopyTO@" }, StringSplitOptions.None); string sourceFielName = fields[0]; //Get the field name, which was changed string destinationFieldName = fields[1]; string fieldVal = GetFieldValue(sourceFielName); //Get value SetFieldValue(destinationFieldName, fieldVal); //set the value _recordContext.RefreshWorkspace(); //refresh the workspace } }
private void UpdateWorkOrderRecord(ToaRequestResult inboundResult, WorkOrderModel workOrderModel) { IList <IGenericField> fields = _workOrderRecord.GenericFields; if (null != fields) { foreach (IGenericField field in fields) { switch (field.Name) { case "External_ID": if (null != workOrderModel.TOA_AID) { field.DataValue.Value = workOrderModel.TOA_AID; } break; case "WO_Status": if (null != workOrderModel.TOA_AID && workOrderModel.TOA_AID != 0) { // Change work order status if activity is cancelled in TOA if (workOrderModel.CancelReason != null && !workOrderModel.CancelReason.Trim().Equals("")) { workOrderModel.Status = Client.Common.ActivityStatus.Cancelled; } else // Set Update Activity { workOrderModel.Status = Client.Common.ActivityStatus.Pending; } } else { workOrderModel.Status = Client.Common.ActivityStatus.NotCreated; } field.DataValue.Value = ToaStringsUtil.GetString(workOrderModel.Status); break; case "Duration": if (null != workOrderModel.Duration) { field.DataValue.Value = Int32.Parse(workOrderModel.Duration); } break; default: break; } } _recordContext.RefreshWorkspace(); _log.Notice("WorkOrder saved"); } }
/// <summary> /// Reload the workspace and load the incident and contact records /// </summary> public void LoadWorkspaceRecords() { try { recordContext.RefreshWorkspace(); incidentWorkspaceRecord = (IIncident)recordContext.GetWorkspaceRecord(WorkspaceRecordType.Incident); contactWorkspaceRecord = (IContact)recordContext.GetWorkspaceRecord(WorkspaceRecordType.Contact); } catch (Exception ex) { throw new Exception("Failed to load workspace records", ex); } }
public void Handler() { try { string duration = null; bool manual_duration; IGenericField durationField = null; IList <IGenericField> fields = _workOrderRecord.GenericFields; foreach (IGenericField field in fields) { switch (field.Name) { case "Duration": durationField = field; break; case "WO_Type": if (field.DataValue.Value == null) { break; } int workorderTypeId = (Int32)field.DataValue.Value; string[] workordertype = RightNowConnectService.GetService().GetWorkOrderTypeFromID(workorderTypeId); manual_duration = (workordertype[1].Equals("1")) ? true : false; if (manual_duration) { duration = workordertype[2]; } break; } } if (duration != null) { durationField.DataValue.Value = duration; } else { durationField.DataValue.Value = null; } _recordContext.RefreshWorkspace(); } catch (Exception ex) { _log.Error(ex.Message, ex.StackTrace); MessageBox.Show(ToaExceptionMessages.UnexpectedError, ToaExceptionMessages.TitleError, MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// WorkOrderAreaCombobox selection changed event handler /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WorkOrderAreaComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { ICustomObject record = this._recordContext.GetWorkspaceRecord(this._recordContext.WorkspaceTypeName) as ICustomObject; IList <IGenericField> fields = record.GenericFields; foreach (IGenericField field in fields) { if (field.Name == "WO_Area") { field.DataValue.Value = (string)WorkOrderAreaComboBox.SelectedItem; } _recordContext.RefreshWorkspace(); } }
/// <summary> /// Method which is called when any Workspace Rule Action is invoked. /// </summary> /// <param name="ActionName">The name of the Workspace Rule Action that was invoked.</param> public void RuleActionInvoked(string ActionName) { _OrgRecord = _recordContext.GetWorkspaceRecord(RightNow.AddIns.Common.WorkspaceRecordType.Organization) as IOrganization; if (ActionName.Contains("DecimalConvert")) { string fieldName = ActionName.Split('@')[1]; //Get the field name, which was changed string fieldVal = GetFieldValue("CO", fieldName, _OrgRecord); //Get value string convertedFieldValue = Decimalconversion(fieldVal, fieldName); //Convert it 2 decimal if (convertedFieldValue != "") { SetFieldValue("CO", fieldName, convertedFieldValue, _OrgRecord); //set the value } _recordContext.RefreshWorkspace(); //refresh the workspace } }
/// <summary> /// Update the Workspace Record fields /// </summary> /// <param name="timeSlot">TimeSlot</param> /// <param name="date">DateTime</param> private void updateRecordFields(string timeSlot, DateTime date) { //_log.Info("Inside updateRecordFields"); ICustomObject record = this._recordContext.GetWorkspaceRecord(this._recordContext.WorkspaceTypeName) as ICustomObject; IList <IGenericField> fields = record.GenericFields; foreach (IGenericField field in fields) { if (field.Name == "WO_Date") { field.DataValue.Value = date; } else if (field.Name == "WO_Time_Slot") { field.DataValue.Value = timeSlot; } _recordContext.RefreshWorkspace(); } }
public void PopulateContactDetails() { IContact contactRecord = _recordContext.GetWorkspaceRecord(WorkspaceRecordType.Contact) as IContact; IIncident incidentRecord = _recordContext.GetWorkspaceRecord(WorkspaceRecordType.Incident) as IIncident; IList <IGenericField> fields = _workOrderRecord.GenericFields; foreach (IGenericField field in fields) { switch (field.Name) { case "Contact_Street": if (contactRecord != null && contactRecord.AddrStreet != null) { field.DataValue.Value = contactRecord.AddrStreet; } break; case "Contact_Province_State": if (contactRecord != null && contactRecord.AddrProvID != null) { field.DataValue.Value = contactRecord.AddrProvID; } break; case "Contact_City": if (contactRecord != null && contactRecord.AddrCity != null) { field.DataValue.Value = contactRecord.AddrCity; } break; case "Contact_Postal_Code": if (contactRecord != null && contactRecord.AddrPostalCode != null) { field.DataValue.Value = contactRecord.AddrPostalCode; } break; case "Contact_Email": if (contactRecord != null && contactRecord.EmailAddr != null) { field.DataValue.Value = contactRecord.EmailAddr; } break; case "Contact_Phone": if (contactRecord != null && contactRecord.PhHome != null) { field.DataValue.Value = contactRecord.PhHome; } else if (contactRecord != null && contactRecord.PhOffice != null) { field.DataValue.Value = contactRecord.PhOffice; } break; case "Contact_Mobile_Phone": if (contactRecord != null && contactRecord.PhMobile != null) { field.DataValue.Value = contactRecord.PhMobile; } break; case "Resolution_Due": string[] milestones = RightNowConnectService.GetService().GetResolutionDueFromID(incidentRecord.ID); if (milestones != null && milestones.Count() > 0) { field.DataValue.Value = milestones[0]; } break; } _recordContext.RefreshWorkspace(); } }
/// <summary> /// Function to populate Report Incident Fields based on Report Data /// </summary> public void ProcessSelectedRowInfo() { try { foreach (IReportRow row in _selectedRows) { IList <IReportCell> cells = row.Cells; foreach (IReportCell cell in cells) { if (cell.Name == "SR_NUM") { _srNumber = cell.Value; } if (cell.Name == "Ship_Site_ID") { _shipToSite = Convert.ToInt32(cell.Value); } if (cell.Name == "Qty_Per_Week") { _qtyToBeCompleted = Convert.ToInt32(cell.Value); } if (cell.Name == "PartOrderInstruction_ID") { _partsOrderInstructionID = Convert.ToInt32(cell.Value); } if (cell.Name == "Shipping_Instruction") { _shippingInstruction = cell.Value; } } } if (_srNumber != string.Empty) { //Replace string 'SR-' wiht '00' to populate project number field string projectNumber = _srNumber.Replace("SR-", "").PadLeft(5, '0'); IGenericObject its = _recordContext.GetWorkspaceRecord("CO$ITS") as IGenericObject; string itsNUm = GetCustomObjectFieldValue("ITS_nmbr", its); //Set Incident Custom Fields SetIncidentField("CO", "project_number", projectNumber); if (_shipToSite != 0) { SetIncidentField("CO", "Ship_to_site", _shipToSite.ToString()); SetIncidentField("CO", "Bill_to_site", _shipToSite.ToString()); } SetIncidentField("CO", "no_of_vins", _qtyToBeCompleted.ToString()); SetIncidentField("CO", "retrofit_number", itsNUm + "-" + _srNumber); SetIncidentField("CO", "PO_Number", itsNUm + "-" + _srNumber + "-" + _qtyToBeCompleted.ToString()); SetIncidentField("CO", "shipping_instructions", _shippingInstruction); SetIncidentField("CO", "PartOrderInstruction_ID", _partsOrderInstructionID.ToString()); } _recordContext.RefreshWorkspace(); form.Hide(); } catch (Exception ex) { MessageBox.Show("Exception: " + ex.Message); form.Hide(); } }