[mapguide-commits] r8847 - sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Dec 3 03:33:36 PST 2015


Author: jng
Date: 2015-12-03 03:33:36 -0800 (Thu, 03 Dec 2015)
New Revision: 8847

Added:
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgBatchPropertyCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgClassDefinitionCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgColor
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCoordinateCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurvePolygonCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveRingCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveSegmentCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveStringCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureCommandCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureSchemaCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgGeometryCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgIntCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLayerCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLineStringCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLinearRingCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgMapCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPointCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPolygonCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPropertyDefinitionCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgReadOnlyLayerCollection
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgResourceIdentifier
   sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgStringPropertyCollection
Log:
Add missing .net class augmentations

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgBatchPropertyCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgBatchPropertyCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgBatchPropertyCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,95 @@
+INTERFACE System.Collections.Generic.IList<MgPropertyCollection>
+
+public class MgBatchPropertyCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgPropertyCollection>
+{
+  public MgBatchPropertyCollectionEnumerator(MgBatchPropertyCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgPropertyCollection Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgBatchPropertyCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgPropertyCollection> GetEnumerator()
+{
+  return new MgBatchPropertyCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgBatchPropertyCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgPropertyCollection[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgPropertyCollection this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+
+public bool Contains(MgPropertyCollection coll)
+{
+   return false;   
+}
+
+public int IndexOf(MgPropertyCollection coll)
+{
+   return -1;
+}

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgClassDefinitionCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgClassDefinitionCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgClassDefinitionCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgClassDefinition>
+
+public class MgClassDefinitionCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgClassDefinition>
+{
+  public MgClassDefinitionCollectionEnumerator(MgClassDefinitionCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgClassDefinition Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgClassDefinitionCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgClassDefinition> GetEnumerator()
+{
+  return new MgClassDefinitionCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgClassDefinitionCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgClassDefinition[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgClassDefinition this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgColor
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgColor	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgColor	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,17 @@
+
+  public MgColor(System.Drawing.Color color)
+  :this(color.R, color.G, color.B, color.A)
+  {
+  }
+
+  public static implicit operator MgColor(System.Drawing.Color color)
+  {
+    MgColor newColor = new MgColor(color.R, color.G, color.B, color.A);
+    return newColor;
+  }
+
+  public static implicit operator System.Drawing.Color(MgColor color)
+  {
+    return System.Drawing.Color.FromArgb(color.GetAlpha(), color.GetRed(), color.GetGreen(), color.GetBlue());
+  }  
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCoordinateCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCoordinateCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCoordinateCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgCoordinate>
+
+public class MgCoordinateCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgCoordinate>
+{
+  public MgCoordinateCollectionEnumerator(MgCoordinateCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgCoordinate Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgCoordinateCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgCoordinate> GetEnumerator()
+{
+  return new MgCoordinateCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgCoordinateCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgCoordinate[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgCoordinate this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurvePolygonCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurvePolygonCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurvePolygonCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgCurvePolygon>
+
+public class MgCurvePolygonCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgCurvePolygon>
+{
+  public MgCurvePolygonCollectionEnumerator(MgCurvePolygonCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgCurvePolygon Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgCurvePolygonCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgCurvePolygon> GetEnumerator()
+{
+  return new MgCurvePolygonCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgCurvePolygonCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgCurvePolygon[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgCurvePolygon this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveRingCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveRingCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveRingCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgCurveRing>
+
+public class MgCurveRingCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgCurveRing>
+{
+  public MgCurveRingCollectionEnumerator(MgCurveRingCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgCurveRing Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgCurveRingCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgCurveRing> GetEnumerator()
+{
+  return new MgCurveRingCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgCurveRingCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgCurveRing[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgCurveRing this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveSegmentCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveSegmentCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveSegmentCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgCurveSegment>
+
+public class MgCurveSegmentCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgCurveSegment>
+{
+  public MgCurveSegmentCollectionEnumerator(MgCurveSegmentCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgCurveSegment Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgCurveSegmentCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgCurveSegment> GetEnumerator()
+{
+  return new MgCurveSegmentCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgCurveSegmentCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgCurveSegment[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgCurveSegment this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveStringCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveStringCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgCurveStringCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgCurveString>
+
+public class MgCurveStringCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgCurveString>
+{
+  public MgCurveStringCollectionEnumerator(MgCurveStringCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgCurveString Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgCurveStringCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgCurveString> GetEnumerator()
+{
+  return new MgCurveStringCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgCurveStringCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgCurveString[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgCurveString this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureCommandCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureCommandCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureCommandCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgFeatureCommand>
+
+public class MgFeatureCommandCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgFeatureCommand>
+{
+  public MgFeatureCommandCollectionEnumerator(MgFeatureCommandCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgFeatureCommand Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgFeatureCommandCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgFeatureCommand> GetEnumerator()
+{
+  return new MgFeatureCommandCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgFeatureCommandCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgFeatureCommand[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgFeatureCommand this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureSchemaCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureSchemaCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgFeatureSchemaCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgFeatureSchema>
+
+public class MgFeatureSchemaCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgFeatureSchema>
+{
+  public MgFeatureSchemaCollectionEnumerator(MgFeatureSchemaCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgFeatureSchema Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgFeatureSchemaCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgFeatureSchema> GetEnumerator()
+{
+  return new MgFeatureSchemaCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgFeatureSchemaCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgFeatureSchema[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgFeatureSchema this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgGeometryCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgGeometryCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgGeometryCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgGeometry>
+
+public class MgGeometryCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgGeometry>
+{
+  public MgGeometryCollectionEnumerator(MgGeometryCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgGeometry Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgGeometryCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgGeometry> GetEnumerator()
+{
+  return new MgGeometryCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgGeometryCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgGeometry[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgGeometry this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgIntCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgIntCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgIntCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<int>
+
+public class MgIntCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<int>
+{
+  public MgIntCollectionEnumerator(MgIntCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public int Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgIntCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<int> GetEnumerator()
+{
+  return new MgIntCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgIntCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(int[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public int this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLayerCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLayerCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLayerCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgLayerBase>
+
+public class MgLayerCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgLayerBase>
+{
+  public MgLayerCollectionEnumerator(MgLayerCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgLayerBase Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgLayerCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgLayerBase> GetEnumerator()
+{
+  return new MgLayerCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgLayerCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgLayerBase[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgLayerBase this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLineStringCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLineStringCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLineStringCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgLineString>
+
+public class MgLineStringCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgLineString>
+{
+  public MgLineStringCollectionEnumerator(MgLineStringCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgLineString Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgLineStringCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgLineString> GetEnumerator()
+{
+  return new MgLineStringCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgLineStringCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgLineString[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgLineString this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLinearRingCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLinearRingCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgLinearRingCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgLinearRing>
+
+public class MgLinearRingCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgLinearRing>
+{
+  public MgLinearRingCollectionEnumerator(MgLinearRingCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgLinearRing Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgLinearRingCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgLinearRing> GetEnumerator()
+{
+  return new MgLinearRingCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgLinearRingCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgLinearRing[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgLinearRing this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgMapCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgMapCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgMapCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgMapBase>
+
+public class MgMapCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgMapBase>
+{
+  public MgMapCollectionEnumerator(MgMapCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgMapBase Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgMapCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgMapBase> GetEnumerator()
+{
+  return new MgMapCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgMapCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgMapBase[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgMapBase this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPointCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPointCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPointCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgPoint>
+
+public class MgPointCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgPoint>
+{
+  public MgPointCollectionEnumerator(MgPointCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgPoint Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgPointCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgPoint> GetEnumerator()
+{
+  return new MgPointCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgPointCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgPoint[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgPoint this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPolygonCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPolygonCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPolygonCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgPolygon>
+
+public class MgPolygonCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgPolygon>
+{
+  public MgPolygonCollectionEnumerator(MgPolygonCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgPolygon Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgPolygonCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgPolygon> GetEnumerator()
+{
+  return new MgPolygonCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgPolygonCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgPolygon[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgPolygon this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPropertyDefinitionCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPropertyDefinitionCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgPropertyDefinitionCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgPropertyDefinition>
+
+public class MgPropertyDefinitionCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgPropertyDefinition>
+{
+  public MgPropertyDefinitionCollectionEnumerator(MgPropertyDefinitionCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgPropertyDefinition Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgPropertyDefinitionCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgPropertyDefinition> GetEnumerator()
+{
+  return new MgPropertyDefinitionCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgPropertyDefinitionCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgPropertyDefinition[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgPropertyDefinition this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgReadOnlyLayerCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgReadOnlyLayerCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgReadOnlyLayerCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,110 @@
+INTERFACE System.Collections.Generic.IList<MgLayerBase>
+
+public class MgReadOnlyLayerCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgLayerBase>
+{
+  public MgReadOnlyLayerCollectionEnumerator(MgReadOnlyLayerCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgLayerBase Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgReadOnlyLayerCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgLayerBase> GetEnumerator()
+{
+  return new MgReadOnlyLayerCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgReadOnlyLayerCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return true; }
+}
+
+public void CopyTo(MgLayerBase[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgLayerBase this[int index]
+{
+   get { return GetItem(index); }
+   set { }
+}
+
+//
+// Empty stubs due to Read-only behaviour
+//
+public void Add(MgLayerBase value)
+{
+}
+
+public void Clear()
+{
+}
+
+public bool Remove(MgLayerBase value)
+{
+   return false;
+}
+
+public void Insert(int index, MgLayerBase value)
+{
+}
+
+public void RemoveAt(int index)
+{
+}
+

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgResourceIdentifier
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgResourceIdentifier	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgResourceIdentifier	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,24 @@
+public override bool Equals (object obj)
+{
+	return (this == obj as MgResourceIdentifier);
+}
+
+public static bool operator == (MgResourceIdentifier id1, MgResourceIdentifier id2)
+{
+    if ((Object)id1 == null && (Object)id2 == null)
+        return true;
+    if ((Object)id1 == null || (Object)id2 == null)
+        return false;
+		
+	return id1.ToString () == id2.ToString ();
+}
+
+public static bool operator != (MgResourceIdentifier id1, MgResourceIdentifier id2)
+{		
+	return !(id1 == id2);
+}
+
+public override int GetHashCode()
+{
+	return ToString().GetHashCode();
+}

Added: sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgStringPropertyCollection
===================================================================
--- sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgStringPropertyCollection	                        (rev 0)
+++ sandbox/jng/aspnet50/Web/src/MapGuideDotNetCoreApi/Custom/MgStringPropertyCollection	2015-12-03 11:33:36 UTC (rev 8847)
@@ -0,0 +1,86 @@
+INTERFACE System.Collections.Generic.IList<MgStringProperty>
+
+public class MgStringPropertyCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgStringProperty>
+{
+  public MgStringPropertyCollectionEnumerator(MgStringPropertyCollection coll)
+  {
+    m_coll = coll;
+    m_pos = -1;
+  }
+
+  public MgStringProperty Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  Object System.Collections.IEnumerator.Current
+  {
+    get
+    {
+      return m_coll.GetItem(m_pos);
+    }
+  }
+
+  public bool MoveNext()
+  {
+    bool bOk = false;
+    if (m_pos < m_coll.GetCount()-1)
+    {
+      m_pos++;
+      bOk = true;
+    }
+  return bOk;
+  }
+
+  public void Reset()
+  {
+    m_pos = -1;
+  }
+
+  public void Dispose()
+  {
+    m_coll = null;
+  }
+
+  private MgStringPropertyCollection m_coll;
+  private int m_pos;
+
+}
+
+public System.Collections.Generic.IEnumerator<MgStringProperty> GetEnumerator()
+{
+  return new MgStringPropertyCollectionEnumerator(this);
+}
+
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+{
+  return new MgStringPropertyCollectionEnumerator(this);
+}
+
+public int Count
+{  
+  get { return GetCount(); }
+}
+
+public bool IsReadOnly
+{
+  get { return false; }
+}
+
+public void CopyTo(MgStringProperty[] array, int arrayIndex)
+{
+  for (int i=0; i<GetCount(); i++)
+  {
+    array[arrayIndex+i] = GetItem(i);
+  }
+}
+
+public MgStringProperty this[int index]
+{
+   get { return GetItem(index); }
+   set { SetItem(index, value); }
+}
+



More information about the mapguide-commits mailing list