/// <summary> /// Initializes a new instance of the <see cref="AnalysisExplicitCategory"/> class. /// </summary> /// <param name="analysis">Analysis</param> /// <param name="configCategory">Config category</param> public AnalysisExplicitCategory(Analysis analysis, UPConfigAnalysisCategory configCategory) { this.Analysis = analysis; this.ConfigCategory = configCategory; this.valueDictionary = new Dictionary <string, object>(); this.sourceValueArray = new List <object>(); foreach (UPConfigAnalysisCategoryValue configValue in configCategory.Values) { AnalysisExplicitCategoryValue value = new AnalysisExplicitCategoryValue(this, configValue); this.valueDictionary.SetObjectForKey(value, value.Key); this.sourceValueArray.Add(value); } if (this.ConfigCategory?.OtherLabel?.Length > 0) { this.otherValue = new AnalysisExplicitCategoryValue(this, this.ConfigCategory.OtherLabel); if (this.otherValue != null) { this.valueDictionary.SetObjectForKey(this.otherValue, this.otherValue.Key); this.sourceValueArray.Add(this.otherValue); } } else { this.otherValue = null; } }
/// <summary> /// Initializes a new instance of the <see cref="AnalysisExplicitCategoryField"/> class. /// </summary> /// <param name="analysis">Analysis</param> /// <param name="parentField">Parent field</param> /// <param name="categoryName">Category name</param> public AnalysisExplicitCategoryField(Analysis analysis, AnalysisField parentField, string categoryName) : base(analysis, $"{parentField.Key}({categoryName})") { this.categoryName = categoryName; UPConfigAnalysisCategory configCategory = ConfigurationUnitStore.DefaultStore.AnalysisCategoryByName(this.categoryName); if (configCategory == null) { return; } this.ParentField = parentField; var field = this.ParentField as AnalysisExplicitCategoryField; this.SourceField = field != null ? field.SourceField : this.ParentField; this.ExplicitCategory = this.SourceField.IsDateValue ? new AnalysisExplicitDateCategory(analysis, configCategory) : new AnalysisExplicitCategory(analysis, configCategory); }
/// <summary> /// Initializes a new instance of the <see cref="AnalysisExplicitDateCategory"/> class. /// </summary> /// <param name="analysis">Analysis</param> /// <param name="category">Category</param> public AnalysisExplicitDateCategory(Analysis analysis, UPConfigAnalysisCategory category) : base(analysis, category) { }