public FieldDomain(string name, CadField.CadFieldType fieldType, string domainType) { this.DisplayName = name; this.Name = DocUtil.FixSymbolName(name); this.FieldType = fieldType; this.DomainType = domainType; this.CodedValues = new ObservableDictionary <string, MSCCodedValue>(); this.FauxNull = null; this.MinValue = 0; this.MaxValue = 0; }
public static FieldDomain GetDomain(Domain fs_domain) { FieldDomain result; try { ObservableDictionary <string, FieldDomain> domains = AfaDocData.ActiveDocData.DocDataset.Domains; string key = DocUtil.FixSymbolName(fs_domain.DomainName); FieldDomain fieldDomain = null; if (domains.TryGetValue(key, out fieldDomain) && FieldDomain.AreEquivalent(fieldDomain, fs_domain)) { result = fieldDomain; } else { string domainType = ""; if (fs_domain is CodedValueDomain) { domainType = "CodedValueDomain"; } else if (fs_domain is RangeDomain) { domainType = "RangeDomain"; } CadField.CadFieldType cadFieldType = FieldDomain.GetCadFieldType(fs_domain.FieldType); fieldDomain = new FieldDomain(fs_domain.DomainName, cadFieldType, domainType); if (fs_domain is CodedValueDomain) { CodedValueDomain codedValueDomain = (CodedValueDomain)fs_domain; if (codedValueDomain.CodedValues.Length <= 0) { goto IL_129; } CodedValue[] array = codedValueDomain.CodedValues.ToArray <CodedValue>(); try { CodedValue[] array2 = array; for (int i = 0; i < array2.Length; i++) { CodedValue codedValue = array2[i]; fieldDomain.CodedValues.Add(DocUtil.FixSymbolName(codedValue.Name), new MSCCodedValue(codedValue.Name, cadFieldType, codedValue.Code)); } goto IL_129; } catch (SystemException ex) { string arg_FC_0 = ex.Message; goto IL_129; } } if (fs_domain is RangeDomain) { RangeDomain rangeDomain = (RangeDomain)fs_domain; fieldDomain.MinValue = rangeDomain.MinValue; fieldDomain.MaxValue = rangeDomain.MaxValue; } IL_129: AfaDocData.ActiveDocData.DocDataset.Domains.Add(fieldDomain.Name, fieldDomain); result = fieldDomain; } } catch { result = null; } return(result); }