<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Where is FeatureSource.GetDomain() gone? in ArcGIS for Windows Mobile Questions</title>
    <link>https://community.esri.com/t5/arcgis-for-windows-mobile-questions/where-is-featuresource-getdomain-gone/m-p/314916#M1386</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have to migrate a ArcGIS for Windows Mobile 10.0 solution to version 10.2.1.&lt;/P&gt;&lt;P&gt;It was a pain to replace all the &lt;A href="http://resources.arcgis.com/en/help/windows-mobile-sdk/concepts/index.html#//01sp0000006m000000" rel="nofollow noopener noreferrer" target="_blank"&gt;new changes&lt;/A&gt; so far and now I have to care about a special problem.&lt;/P&gt;&lt;P&gt;In 10.0 there was a method named GetDomain() for the FeatureLayer class:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;object domain = featureDataTable.FeatureSource.GetDomain(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pSubTypeIndex,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureDataTable.Columns[featureDataTable.DisplayColumnIndex].ColumnName);&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But this method no longer exists.&lt;/P&gt;&lt;P&gt;How could I get these domain information now?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 14:59:37 GMT</pubDate>
    <dc:creator>MaximilianGlas</dc:creator>
    <dc:date>2021-12-11T14:59:37Z</dc:date>
    <item>
      <title>Where is FeatureSource.GetDomain() gone?</title>
      <link>https://community.esri.com/t5/arcgis-for-windows-mobile-questions/where-is-featuresource-getdomain-gone/m-p/314916#M1386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have to migrate a ArcGIS for Windows Mobile 10.0 solution to version 10.2.1.&lt;/P&gt;&lt;P&gt;It was a pain to replace all the &lt;A href="http://resources.arcgis.com/en/help/windows-mobile-sdk/concepts/index.html#//01sp0000006m000000" rel="nofollow noopener noreferrer" target="_blank"&gt;new changes&lt;/A&gt; so far and now I have to care about a special problem.&lt;/P&gt;&lt;P&gt;In 10.0 there was a method named GetDomain() for the FeatureLayer class:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;object domain = featureDataTable.FeatureSource.GetDomain(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pSubTypeIndex,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureDataTable.Columns[featureDataTable.DisplayColumnIndex].ColumnName);&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But this method no longer exists.&lt;/P&gt;&lt;P&gt;How could I get these domain information now?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:59:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-for-windows-mobile-questions/where-is-featuresource-getdomain-gone/m-p/314916#M1386</guid>
      <dc:creator>MaximilianGlas</dc:creator>
      <dc:date>2021-12-11T14:59:37Z</dc:date>
    </item>
    <item>
      <title>Re: Where is FeatureSource.GetDomain() gone?</title>
      <link>https://community.esri.com/t5/arcgis-for-windows-mobile-questions/where-is-featuresource-getdomain-gone/m-p/314917#M1387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, I found a solution for myself.&lt;/P&gt;&lt;P&gt;The missing method has been moved to &lt;A href="http://resources.arcgis.com/en/help/windows-mobile-sdk/apiref/ESRI.ArcGIS.Mobile~ESRI.ArcGIS.Mobile.FeatureCaching.SourceDataColumn_members.html" rel="nofollow noopener noreferrer" target="_blank"&gt;SourceDataColumn&lt;/A&gt;​. I did not get, why, in my opinion it makes more sense where it has been before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's why I wrote a workaround class for me, which uses the old idea of getting access by FeatureSource instead of each column:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;using System.Collections.Generic;
using ESRI.ArcGIS.Mobile.FeatureCaching;

public static class FeatureSourceExtensions
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; private static Dictionary&amp;lt;FeatureSource, Dictionary&amp;lt;string, IDomain&amp;gt;&amp;gt; _domains;

&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Get all coded value domains for a feature source. Stores result after first access for increasing speed.
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="featureSource"&amp;gt;&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="subtypeCode"&amp;gt;default seems to be 0 and is therefore set, but could be overwritten&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static Dictionary&amp;lt;string, IDomain&amp;gt; GetDomains(this FeatureSource featureSource, int subtypeCode = 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (_domains == null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _domains = new Dictionary&amp;lt;FeatureSource, Dictionary&amp;lt;string, IDomain&amp;gt;&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!_domains.ContainsKey(featureSource))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var featureDomain = new Dictionary&amp;lt;string, IDomain&amp;gt;();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var column in featureSource.Columns)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var domain = column.GetDomain(subtypeCode);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (domain != null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureDomain.Add(column.ColumnName, domain);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _domains.Add(featureSource, featureDomain);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _domains.ContainsKey(featureSource) ? _domains[featureSource] : null;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// checks if a feature source has any domain values
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="featureSource"&amp;gt;&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="subtypeCode"&amp;gt;default seems to be 0 and is therefore set, but could be overwritten&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static bool HasDomains(this FeatureSource featureSource, int subtypeCode = 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return GetDomains(featureSource, subtypeCode).Count &amp;gt; 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// returns a coded value domain for a special field
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="featureSource"&amp;gt;&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="columnName"&amp;gt;&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="subtypeCode"&amp;gt;default seems to be 0 and is therefore set, but could be overwritten&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static IDomain GetDomain(this FeatureSource featureSource, string columnName, int subtypeCode = 0)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var domains = GetDomains(featureSource, subtypeCode);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return domains.ContainsKey(columnName) ? domains[columnName] : null;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 14:59:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-for-windows-mobile-questions/where-is-featuresource-getdomain-gone/m-p/314917#M1387</guid>
      <dc:creator>MaximilianGlas</dc:creator>
      <dc:date>2021-12-11T14:59:40Z</dc:date>
    </item>
  </channel>
</rss>

