Exemple #1
0
        /// <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
        }
Exemple #2
0
        /// <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
            }
        }
Exemple #4
0
        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");
            }
        }
Exemple #5
0
 /// <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);
     }
 }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        /// <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
     }
 }
Exemple #9
0
        /// <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();
            }
        }
Exemple #10
0
        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();
            }
        }