/// <summary> /// Returns a list of the model names that are assigned to the <paramref name="source" />. /// </summary> /// <param name="source">The object class.</param> /// <returns> /// Returns a <see cref="IEnumerable{T}" /> representing the class model names assigned to the object class. /// </returns> public static IEnumerable <string> GetClassModelNames(this ITable source) { if (source == null) { return(null); } IObjectClass table = source as IObjectClass; if (table == null) { return(null); } return(table.GetClassModelNames()); }
/// <summary> /// Pre validates the given set of values. /// </summary> /// <param name="parameters">The parameters.</param> /// <param name="environmentManager">Provides access to all the current environments and settings of the current client.</param> /// <param name="utilities"> /// The utilities object that provides access to the properties and methods of a geoprocessing /// objects. /// </param> protected override void UpdateParameters(Dictionary <string, IGPParameter> parameters, IGPEnvironmentManager environmentManager, IGPUtilities2 utilities) { // Retrieve the input parameter value. IGPValue value = utilities.UnpackGPValue(parameters["in_table"]); if (!value.IsEmpty()) { // Create the domain based on the fields on the table. IObjectClass table = utilities.OpenTable(value); if (table != null) { IGPCodedValueDomain codedValueDomain = new GPCodedValueDomainClass(); foreach (var modelName in table.GetClassModelNames()) { codedValueDomain.AddStringCode(modelName, modelName); } IGPParameterEdit3 derivedFields = (IGPParameterEdit3)parameters["in_class_model_names"]; derivedFields.Domain = (IGPDomain)codedValueDomain; } } }
/// <summary> /// Returns a list of the model names that are assigned to the <paramref name="source" />. /// </summary> /// <param name="source">The object class.</param> /// <returns> /// Returns a <see cref="IEnumerable{T}" /> representing the class model names assigned to the object class. /// </returns> public static IEnumerable <string> GetClassModelNamesAsync(this IObjectClass source) { return(Task.Wait(() => source.GetClassModelNames())); }