Пример #1
0
        public string Update(int _logIncidentId = 0, int _logContactId = 0)
        {
            if (_provider == null)
            {
                throw new Exception("EBS Provider not initialized.");
            }

            RepairOrder ro = RepairOrder._provider.UpdateRO(this, _logIncidentId, _logContactId);

            this.RepairNumber = ro.RepairNumber;
            this.ErrorMessage = ro.ErrorMessage;

            if (!String.IsNullOrWhiteSpace(this.ErrorMessage))
            {
                if (this.RepairNumber == "-1")
                {
                    return(this.RepairNumber);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(this.RepairNumber);
            }
        }
Пример #2
0
        // import the repair order
        internal bool Import(RepairOrder repairOrder)
        {
            if (_Model.InDemo)
            {
                Thread.Sleep(1000);
                if (repairOrder.Quantity % 10 == 0 && repairOrder._File.FileId % 10 == 0)
                {
                    return(false);
                }
                return(true);
            }
            var ro = new Accelerator.EBS.SharedServices.RepairOrder();

            ro.Quantity           = repairOrder.Quantity;
            ro.UnitOfMeasure      = repairOrder.UnitOfMeasure;
            ro.ApprovalRequired   = repairOrder.ApprovalRequiredFlag;
            ro.Currency           = repairOrder.Currency;
            ro.ResourceID         = _Model.EbsOwnerId;
            ro.ProblemDescription = repairOrder.ProblemDescription;
            ro.ServiceRequestID   = _Model.EbsSrId;
            ro.SerialNumber       = repairOrder.SerialNumber;
            if (ro.ValidateSerialNumber(_Model.EbsContactOrgId, _Model.RntIncidentId, _Model.RntContactId))
            {
                ro.Create(_Model.RntIncidentId, _Model.RntContactId);
            }
            else
            {
                NoticeLog(string.Format("EBS Bulk Import cannot create a repair order because the serial number {0} is not valid", repairOrder.SerialNumber), null);
                return(false);
            }

            if (String.IsNullOrWhiteSpace(ro.RepairNumber))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Пример #3
0
            // import the repair order
        internal bool Import(RepairOrder repairOrder)
        {
            if (_Model.InDemo)
            {
                Thread.Sleep(1000);
                if (repairOrder.Quantity % 10 == 0 && repairOrder._File.FileId % 10 == 0)
                    return false;
                return true;
            }
            var ro = new Accelerator.EBS.SharedServices.RepairOrder();
            ro.Quantity = repairOrder.Quantity;
            ro.UnitOfMeasure = repairOrder.UnitOfMeasure;
            ro.ApprovalRequired = repairOrder.ApprovalRequiredFlag;
            ro.Currency = repairOrder.Currency;
            ro.ResourceID = _Model.EbsOwnerId;
            ro.ProblemDescription = repairOrder.ProblemDescription;
            ro.ServiceRequestID = _Model.EbsSrId;
            ro.SerialNumber = repairOrder.SerialNumber;
            if (ro.ValidateSerialNumber(_Model.EbsContactOrgId, _Model.RntIncidentId, _Model.RntContactId))
            {
                ro.Create(_Model.RntIncidentId, _Model.RntContactId);
            }
            else
            {
                NoticeLog(string.Format("EBS Bulk Import cannot create a repair order because the serial number {0} is not valid", repairOrder.SerialNumber), null);
                return false;
            }

            if (String.IsNullOrWhiteSpace(ro.RepairNumber))
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        private void bw_LoadRODetails(object sender, DoWorkEventArgs e)
        {
            string logMessage, logNote;
            string repairNum = (string)e.Argument;
            RepairOrder ro = new RepairOrder();
            try
            {
                ro = ro.Lookup(repairNum, _logIncidentId, 0);
                e.Result = ro;
            }
            catch (Exception ex)
            {
                e.Cancel = true;
                bw_roList.CancelAsync();

                string message = ex.Message;
                MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                logMessage = "Error in loading Repair Order. Error: " + ex.Message;
                _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage);
                return;
            }
            if (ro.ErrorMessage != null)
            {
                e.Cancel = true;
                logMessage = "Loading Repair Order is failed. RO Num = " + repairNum;
                logNote = "Response shows error code when loading repair order. Response's error message: " + ro.ErrorMessage;
                _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote);
                return;
            }
        }
        private void bw_LoadROList(object sender, DoWorkEventArgs e)
        {
            string logMessage, logNote;
            var sr_id = "";
            var sr_num = "";
            IList<ICustomAttribute> customAttributes = incident.CustomAttributes;
            string[] incCustomAttrs = { "Accelerator$ebs_sr_id", "Accelerator$ebs_sr_num" };
            Dictionary<String, Object> incCustomAttrsResults = CustomAttrHelper.fetchCustomAttrValue(customAttributes, incCustomAttrs, this._logIncidentId, 0);
            sr_id = incCustomAttrsResults["Accelerator$ebs_sr_id"] != null ? incCustomAttrsResults["Accelerator$ebs_sr_id"].ToString() : "";
            sr_num = incCustomAttrsResults["Accelerator$ebs_sr_num"] != null ? incCustomAttrsResults["Accelerator$ebs_sr_num"].ToString() : "";

            //Check incident whether associated to a service request
            if (!String.IsNullOrWhiteSpace(sr_id))
            {
                //If incident is related to a SR
                //Lookup repair order by service request id
                RepairOrder ro = new RepairOrder();

                RepairOrder[] results = null;
                try
                {
                    results = ro.LookupList(sr_id, sr_num, _logIncidentId, 0);
                    e.Result = results;
                }
                catch (Exception ex)
                {
                    e.Cancel = true;
                    bw_roList.CancelAsync();

                    string message = ex.Message;
                    MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    logMessage = "Error in loading Repair Order List. Error: " + ex.Message;
                    _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage);
                    return;
                }

                if (ro.ErrorMessage != null)
                {
                    e.Cancel = true;
                    logMessage = "Loading Repair Order List is failed. SR ID = " + sr_id;
                    logNote = "Response shows error code when loading repair order list. Response's error message: " + ro.ErrorMessage;
                    _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote);
                    return;
                }
                else
                {
                    logMessage = "Loading Repair Order List Successfully. Current Service Request has " + results.Length + " Repair Order(s)";
                    logNote = "";
                    _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote);
                }
            }
            else
            {
                e.Result = null;
            }
        }
Пример #6
0
        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.NoticeLog(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);
                    }
                }
            }
        }