コード例 #1
0
 /// <summary>
 ///     Removes the specified type.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="type">The type.</param>
 public void Remove(IObjectClass source, Type type)
 {
     foreach (var entry in source.GetSubtypes())
     {
         this.Remove(source.ObjectClassID, entry.Key, type);
     }
 }
コード例 #2
0
        /// <summary>
        ///     Determines whether the type is inoperable.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="type">The type.</param>
        /// <returns>
        ///     Returns a <see cref="bool" /> representing <c>true</c> when the type is inoperable for the source.
        /// </returns>
        public bool Contains(IObjectClass source, Type type)
        {
            var subtypes = source.GetSubtypes();
            var items    = subtypes as KeyValuePair <int, string>[] ?? subtypes.ToArray();
            var flags    = items.Select(entry => this.Contains(source.ObjectClassID, entry.Key, type)).ToList();

            return(flags.Count == items.Count());
        }
コード例 #3
0
        /// <summary>
        ///     Exports the ArcFM Edit Event Properties to a CSV file.
        /// </summary>
        /// <param name="table">The table.</param>
        /// <param name="source">The source.</param>
        /// <param name="editEvents">The edit events.</param>
        private void Export <T>(DataTable table, IObjectClass source, params mmEditEvent[] editEvents)
        {
            if (source == null)
            {
                return;
            }

            var configTopLevel = ConfigTopLevel.Instance;
            var dataset        = source as IDataset;
            var featureDataset = (source is IFeatureClass) ? ((IFeatureClass)source).FeatureDataset : null;

            var subtypes = new Dictionary <int, string>();
            var list     = source.GetSubtypes().ToList();

            if (list.Any())
            {
                subtypes = list.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
            }

            foreach (var editEvent in editEvents)
            {
                var values = configTopLevel.GetAutoValues(source, editEvent);
                if (values.Any())
                {
                    foreach (var value in values)
                    {
                        var subtypeCode = value.Key;
                        var subtypeName = subtypes.ContainsKey(subtypeCode) ? subtypes[subtypeCode] : "All";

                        foreach (var a in value.Value)
                        {
                            var row = this.ExportRow <T>(a, subtypeCode, subtypeName, dataset, featureDataset);
                            table.Rows.Add(row);
                        }
                    }
                }
            }
        }