In case you are wondering what all those numbers are, they are defined in
OSGeo.MapGuide.MgPropertyType.?

The MaestroAPI has a function for mapping between .Net and MG types
http://svn.osgeo.org/mapguide/trunk/Tools/Maestro/MaestroAPI/Utility.cs
(Linenumbers are missing?, but its on line 389)

Regards, Kenneth Skovhede, GEOGRAF A/S



Jamo skrev:
Incase anyone is interested I figured it out... I no longer have to hard code 
what the identity property is .

the following will read the feature reader and return the identity property 
allowing me now to create more dynamic commands :)

I haven't filled in all the select cases as I'm not sure whats what there.

      while (newFeatReader.ReadNext())
      {
        MgPropertyCollection idProps = new MgPropertyCollection();
        MgResourceIdentifier myRes = new 
MgResourceIdentifier(currentLayer.GetFeatureSourceId());

        foreach (MgPropertyDefinition IdPropDef in 
newFeatReader.GetClassDefinition().GetIdentityProperties())
          {
            switch (newFeatReader.GetPropertyType(IdPropDef.Name))
            {
              case 1:
             //   Response.Write("1");
                break;
              case 2:
             //   Response.Write("2");
                break;
              case 3:
             //   Response.Write("3");
                break;
              case 4:
              //  Response.Write("4");
                break;
              case 5:
             //   Response.Write("5");
                break;
              case 6:
              //  Response.Write("6");
                break;
              case 7:
                idProps.Add(new MgInt32Property(IdPropDef.Name, 
newFeatReader.GetInt32(IdPropDef.Name)));
               // Response.Write("7");
                break;
              case 8:
              //  Response.Write("8");
                break;
              case 9:
              //  Response.Write("9");
                break;
              default:
              //  Response.Write("no valid type");
                break;
            }
          }
        MgSelection sel = new MgSelection();
        sel.AddFeatureIds(currentLayer, currentClassName, idProps);
        String selText = EscapeForHtml(sel.ToXml());

//do additional stuff with feature here....
}


_______________________________________________
mapguide-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users

Reply via email to