private void bw_LoadSRDetails(object sender, DoWorkEventArgs e) { var sr_id = ""; var sr_num = ""; string logMessage, logNote; IList<ICustomAttribute> customAttributes = incident.CustomAttributes; string[] incCustomAttrs = { "Accelerator$ebs_sr_id", "Accelerator$ebs_sr_num", "Accelerator$ebs_serial_number" }; 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() : ""; e.Result = null; if (!String.IsNullOrWhiteSpace(sr_id) || !String.IsNullOrWhiteSpace(sr_num)) { // Call to SR Lookup and Display SR Details ServiceRequest sr = new ServiceRequest(); try { sr = sr.Lookup(Convert.ToDecimal(sr_id), sr_num, _logIncidentId, 0); } catch (Exception ex) { e.Cancel = true; MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); logMessage = "Error in loading Service Request. Error: " + ex.Message; logNote = ""; _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); return; } if (sr.ErrorMessage != null) { e.Cancel = true; logMessage = "Loading Service Request is failed. SR ID = " + sr_id; logNote = "Response shows error code when loading service request. Response's error message: " + sr.ErrorMessage; _log.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); return; } e.Result = sr; //Set stored value (need them to decide whether field is changed) storedContactPartyId = (sr.EbsContactID == "0") ? "" : sr.EbsContactID; storedSeverityId = Convert.ToInt32(sr.SeverityID == null ? 0 : sr.SeverityID); storedRequestStatusId = Convert.ToInt32(sr.StatusID == null ? 0 : sr.StatusID); storedRequestTypeId = Convert.ToInt32(sr.RequestTypeID == null ? 0 : sr.RequestTypeID); storedSubject = sr.Summary; ebsStoredSerialNum = (sr.SerialNumber == null ? "" : sr.SerialNumber); ebsStoredInstanceID = (decimal)(sr.ProductID == null ? 0 : sr.ProductID); bool sr_obj_ver_num = false; bool sr_owner_id = false; foreach (ICustomAttribute cusAttr in customAttributes) { if (cusAttr.PackageName == "Accelerator" && cusAttr.GenericField.Name == "Accelerator$ebs_sr_obj_ver_num") { sr_obj_ver_num = true; cusAttr.GenericField.DataValue.Value = Convert.ToInt32(sr.SrObjVerNum == null ? 0 : sr.SrObjVerNum); } if (cusAttr.PackageName == "Accelerator" && cusAttr.GenericField.Name == "Accelerator$ebs_sr_owner_id") { sr_owner_id = true; cusAttr.GenericField.DataValue.Value = sr.OwnerID.HasValue ? Convert.ToString(sr.OwnerID) : ""; } } if (sr_obj_ver_num == false) { logMessage = "Custom attribute is not defined. Cannot get Accelerator$ebs_sr_obj_ver_num."; ConfigurationSetting.logWrap.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage); } if (sr_owner_id == false) { logMessage = "Custom attribute is not defined. Cannot get Accelerator$ebs_sr_owner_id."; ConfigurationSetting.logWrap.ErrorLog(incidentId: _logIncidentId, logMessage: logMessage); } if (sr_obj_ver_num == false || sr_owner_id == false) { MessageBox.Show("Custom Attribute configuration missing. Please check log for detail.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } logMessage = "Loaded Service Request. SR ID = " + sr_id; _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage); } else { //Display Empty page if no Service Request associated logMessage = "No Service Request associated. Show empty form."; logNote = ""; _log.DebugLog(incidentId: _logIncidentId, logMessage: logMessage, logNote: logNote); } }