/// <summary> /// Returns a list of custom defect properties. /// </summary> /// <returns>List of custom properties</returns> protected List <CustomDefectProperty> GetCustomDefectProperties(Dictionary <string, string> defectInfos) { List <CustomDefectProperty> result = new List <CustomDefectProperty>(); string[] customProperties = GetDefectIntegrationSetting("CustomDefectProperties", defectInfos) .Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string customProperty in customProperties) { CustomDefectProperty property = new CustomDefectProperty(); string propertyNameID; int position = customProperty.IndexOf('='); if (position > 0) { property.value = customProperty.Substring(position + 1); propertyNameID = customProperty.Substring(0, position); } else { propertyNameID = customProperty; } position = propertyNameID.IndexOf(':'); if (position > 0) { property.name = propertyNameID.Substring(0, position); property.id = propertyNameID.Substring(position + 1); } else { property.name = property.id = propertyNameID; } if (defectInfos.ContainsKey(ExecutionListProperty + property.name)) { property.value = defectInfos[ExecutionListProperty + property.name]; } if (property.name != string.Empty && property.value != null) { result.Add(property); } } return(result); }
/// <summary> /// Returns a list of custom defect properties. /// </summary> /// <returns>List of custom properties</returns> protected List<CustomDefectProperty> GetCustomDefectProperties( Dictionary<string, string> defectInfos ) { List<CustomDefectProperty> result = new List<CustomDefectProperty>(); string[] customProperties = GetDefectIntegrationSetting("CustomDefectProperties", defectInfos) .Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string customProperty in customProperties) { CustomDefectProperty property = new CustomDefectProperty(); string propertyNameID; int position = customProperty.IndexOf('='); if (position > 0) { property.value = customProperty.Substring(position + 1); propertyNameID = customProperty.Substring(0, position); } else { propertyNameID = customProperty; } position = propertyNameID.IndexOf(':'); if (position > 0) { property.name = propertyNameID.Substring(0, position); property.id = propertyNameID.Substring(position + 1); } else { property.name = property.id = propertyNameID; } if (defectInfos.ContainsKey(ExecutionListProperty + property.name)) { property.value = defectInfos[ExecutionListProperty + property.name]; } if (property.name != string.Empty && property.value != null) { result.Add(property); } } return result; }