Beispiel #1
1
 public MgQueryResultsDialog(IMapViewer viewer, MgLayerBase layer, MgReader reader, int limit)
 {
     InitializeComponent();
     _viewer = viewer;
     _reader = reader;
     _geomProp = layer.GetFeatureGeometryName();
     _layer = layer;
     _limit = limit;
     _propMap = new Dictionary<string, int>();
 }
Beispiel #2
0
 public MgQueryResultsDialog(IMapViewer viewer, MgLayerBase layer, MgReader reader, int limit)
 {
     InitializeComponent();
     _viewer   = viewer;
     _reader   = reader;
     _geomProp = layer.GetFeatureGeometryName();
     _layer    = layer;
     _limit    = limit;
     _propMap  = new Dictionary <string, int>();
 }
Beispiel #3
0
        public static String GetFeaturePropertyValue(MgReader featureReader, String propName)
        {
            String value        = string.Empty;
            int    propertyType = featureReader.GetPropertyType(propName);

            switch (propertyType)
            {
            case MgPropertyType.Boolean:
                value = featureReader.GetBoolean(propName).ToString();
                break;

            case MgPropertyType.Byte:
                value = featureReader.GetByte(propName).ToString();
                break;

            case MgPropertyType.Single:
                value = featureReader.GetSingle(propName).ToString();
                break;

            case MgPropertyType.Double:
                value = featureReader.GetDouble(propName).ToString();
                break;

            case MgPropertyType.Int16:
                value = featureReader.GetInt16(propName).ToString();
                break;

            case MgPropertyType.Int32:
                value = featureReader.GetInt32(propName).ToString();
                break;

            case MgPropertyType.Int64:
                value = featureReader.GetInt64(propName).ToString();
                break;

            case MgPropertyType.String:
                value = featureReader.GetString(propName);
                break;

            case MgPropertyType.DateTime:
            case MgPropertyType.Null:
            case MgPropertyType.Blob:
            case MgPropertyType.Clob:
            case MgPropertyType.Feature:
            case MgPropertyType.Geometry:
            case MgPropertyType.Raster:
                value = Strings.StrUnsupportedDataType;     //NOXLATE
                break;
            }
            return(value);
        }
Beispiel #4
0
 public static String GetFeaturePropertyValue(MgReader featureReader, String propName)
 {
     String value = "";
     int propertyType = featureReader.GetPropertyType(propName);
     switch (propertyType)
     {
         case MgPropertyType.Boolean:
             value = featureReader.GetBoolean(propName).ToString();
             break;
         case MgPropertyType.Byte:
             value = featureReader.GetByte(propName).ToString();
             break;
         case MgPropertyType.Single:
             value = featureReader.GetSingle(propName).ToString();
             break;
         case MgPropertyType.Double:
             value = featureReader.GetDouble(propName).ToString();
             break;
         case MgPropertyType.Int16:
             value = featureReader.GetInt16(propName).ToString();
             break;
         case MgPropertyType.Int32:
             value = featureReader.GetInt32(propName).ToString();
             break;
         case MgPropertyType.Int64:
             value = featureReader.GetInt64(propName).ToString();
             break;
         case MgPropertyType.String:
             value = featureReader.GetString(propName);
             break;
         case MgPropertyType.DateTime:
         case MgPropertyType.Null:
         case MgPropertyType.Blob:
         case MgPropertyType.Clob:
         case MgPropertyType.Feature:
         case MgPropertyType.Geometry:
         case MgPropertyType.Raster:
             value = "[unsupported data type]";
             break;
     }
     return value;
 }
        public LocalNativeRecord(MgReader reader, FixedWKTReader mgReader, MgAgfReaderWriter agfRw, MgWktReaderWriter wktRw)
        {
            for (int i = 0; i < reader.GetPropertyCount(); i++)
            {
                string name = reader.GetPropertyName(i);

                _ordinalMap[i] = name;

                var pt = (PropertyValueType)reader.GetPropertyType(name);
                switch (pt)
                {
                    case PropertyValueType.Blob:
                        _values[name] = new BlobValue();
                        break;

                    case PropertyValueType.Boolean:
                        _values[name] = new BooleanValue();
                        break;

                    case PropertyValueType.Byte:
                        _values[name] = new ByteValue();
                        break;

                    case PropertyValueType.Clob:
                        _values[name] = new ClobValue();
                        break;

                    case PropertyValueType.DateTime:
                        _values[name] = new DateTimeValue();
                        break;

                    case PropertyValueType.Double:
                        _values[name] = new DoubleValue();
                        break;

                    case PropertyValueType.Feature:
                        _values[name] = new FeatureValue();
                        break;

                    case PropertyValueType.Geometry:
                        _values[name] = new GeometryValue();
                        break;

                    case PropertyValueType.Int16:
                        _values[name] = new Int16Value();
                        break;

                    case PropertyValueType.Int32:
                        _values[name] = new Int32Value();
                        break;

                    case PropertyValueType.Int64:
                        _values[name] = new Int64Value();
                        break;

                    case PropertyValueType.Raster:
                        _values[name] = new RasterValue();
                        break;

                    case PropertyValueType.Single:
                        _values[name] = new SingleValue();
                        break;

                    case PropertyValueType.String:
                        _values[name] = new StringValue();
                        break;
                }
            }

            for (int i = 0; i < reader.GetPropertyCount(); i++)
            {
                string name = _ordinalMap[i];
                GetByteReaderMethod getblob = () => { return reader.GetBLOB(name); };
                GetByteReaderMethod getclob = () => { return reader.GetCLOB(name); };
                GetByteReaderMethod getgeom = () => { return reader.GetGeometry(name); };
                if (!reader.IsNull(name))
                {
                    var pt = (PropertyValueType)reader.GetPropertyType(name);
                    switch (pt)
                    {
                        case PropertyValueType.Blob:
                            ((BlobValue)_values[name]).Value = Utility.StreamAsArray(new MgReadOnlyStream(getblob));
                            break;

                        case PropertyValueType.Boolean:
                            ((BooleanValue)_values[name]).Value = reader.GetBoolean(name);
                            break;

                        case PropertyValueType.Byte:
                            ((ByteValue)_values[name]).Value = reader.GetByte(name);
                            break;

                        case PropertyValueType.Clob:
                            byte[] b = Utility.StreamAsArray(new MgReadOnlyStream(getclob));
                            ((ClobValue)_values[name]).Value = Encoding.UTF8.GetChars(b);
                            break;

                        case PropertyValueType.DateTime:
                            ((DateTimeValue)_values[name]).Value = Utility.ConvertMgDateTime(reader.GetDateTime(name));
                            break;

                        case PropertyValueType.Double:
                            ((DoubleValue)_values[name]).Value = reader.GetDouble(name);
                            break;
                        //case PropertyValueType.Feature:
                        case PropertyValueType.Geometry:
                            try
                            {
                                //TODO: See if SWIG issues come into play here
                                var geom = agfRw.Read(reader.GetGeometry(name));
                                var wkt = wktRw.Write(geom);
                                ((GeometryValue)_values[name]).Value = mgReader.Read(wkt);
                            }
                            catch //Invalid geometry fail!
                            {
                                ((GeometryValue)_values[name]).SetNull();
                            }
                            break;

                        case PropertyValueType.Int16:
                            ((Int16Value)_values[name]).Value = reader.GetInt16(name);
                            break;

                        case PropertyValueType.Int32:
                            ((Int32Value)_values[name]).Value = reader.GetInt32(name);
                            break;

                        case PropertyValueType.Int64:
                            ((Int64Value)_values[name]).Value = reader.GetInt64(name);
                            break;

                        case PropertyValueType.Single:
                            ((SingleValue)_values[name]).Value = reader.GetSingle(name);
                            break;

                        case PropertyValueType.String:
                            ((StringValue)_values[name]).Value = reader.GetString(name);
                            break;
                    }
                }
            }
        }
Beispiel #6
0
 public ReaderResponseDialog(MgReader reader)
     : this()
 {
     _reader = reader;
 }
Beispiel #7
0
        public LocalNativeRecord(MgReader reader, FixedWKTReader mgReader, MgAgfReaderWriter agfRw, MgWktReaderWriter wktRw)
        {
            for (int i = 0; i < reader.GetPropertyCount(); i++)
            {
                string name = reader.GetPropertyName(i);

                _ordinalMap[i] = name;

                var pt = (PropertyValueType)reader.GetPropertyType(name);
                switch (pt)
                {
                    case PropertyValueType.Blob:
                        _values[name] = new BlobValue();
                        break;
                    case PropertyValueType.Boolean:
                        _values[name] = new BooleanValue();
                        break;
                    case PropertyValueType.Byte:
                        _values[name] = new ByteValue();
                        break;
                    case PropertyValueType.Clob:
                        _values[name] = new ClobValue();
                        break;
                    case PropertyValueType.DateTime:
                        _values[name] = new DateTimeValue();
                        break;
                    case PropertyValueType.Double:
                        _values[name] = new DoubleValue();
                        break;
                    case PropertyValueType.Feature:
                        _values[name] = new FeatureValue();
                        break;
                    case PropertyValueType.Geometry:
                        _values[name] = new GeometryValue();
                        break;
                    case PropertyValueType.Int16:
                        _values[name] = new Int16Value();
                        break;
                    case PropertyValueType.Int32:
                        _values[name] = new Int32Value();
                        break;
                    case PropertyValueType.Int64:
                        _values[name] = new Int64Value();
                        break;
                    case PropertyValueType.Raster:
                        _values[name] = new RasterValue();
                        break;
                    case PropertyValueType.Single:
                        _values[name] = new SingleValue();
                        break;
                    case PropertyValueType.String:
                        _values[name] = new StringValue();
                        break;
                }
            }

            for (int i = 0; i < reader.GetPropertyCount(); i++)
            {
                string name = _ordinalMap[i];
                GetByteReaderMethod getblob = () => { return reader.GetBLOB(name); };
                GetByteReaderMethod getclob = () => { return reader.GetCLOB(name); };
                GetByteReaderMethod getgeom = () => { return reader.GetGeometry(name); };
                if (!reader.IsNull(name))
                {
                    var pt = (PropertyValueType)reader.GetPropertyType(name);
                    switch (pt)
                    {
                        case PropertyValueType.Blob:
                            ((BlobValue)_values[name]).Value = Utility.StreamAsArray(new MgReadOnlyStream(getblob));
                            break;
                        case PropertyValueType.Boolean:
                            ((BooleanValue)_values[name]).Value = reader.GetBoolean(name);
                            break;
                        case PropertyValueType.Byte:
                            ((ByteValue)_values[name]).Value = reader.GetByte(name);
                            break;
                        case PropertyValueType.Clob:
                            byte [] b = Utility.StreamAsArray(new MgReadOnlyStream(getclob));
                            ((ClobValue)_values[name]).Value = Encoding.UTF8.GetChars(b);
                            break;
                        case PropertyValueType.DateTime:
                            ((DateTimeValue)_values[name]).Value = Utility.ConvertMgDateTime(reader.GetDateTime(name));
                            break;
                        case PropertyValueType.Double:
                            ((DoubleValue)_values[name]).Value = reader.GetDouble(name);
                            break;
                        //case PropertyValueType.Feature:
                        case PropertyValueType.Geometry:
                            try
                            {
                                //TODO: See if SWIG issues come into play here
                                var geom = agfRw.Read(reader.GetGeometry(name));
                                var wkt = wktRw.Write(geom);
                                ((GeometryValue)_values[name]).Value = mgReader.Read(wkt);
                            }
                            catch //Invalid geometry fail!
                            {
                                ((GeometryValue)_values[name]).SetNull();
                            }
                            break;
                        case PropertyValueType.Int16:
                            ((Int16Value)_values[name]).Value = reader.GetInt16(name);
                            break;
                        case PropertyValueType.Int32:
                            ((Int32Value)_values[name]).Value = reader.GetInt32(name);
                            break;
                        case PropertyValueType.Int64:
                            ((Int64Value)_values[name]).Value = reader.GetInt64(name);
                            break;
                        case PropertyValueType.Single:
                            ((SingleValue)_values[name]).Value = reader.GetSingle(name);
                            break;
                        case PropertyValueType.String:
                            ((StringValue)_values[name]).Value = reader.GetString(name);
                            break;
                    }
                }
            }
        }
Beispiel #8
0
        public object GetFeaturePropertyValue(MgReader reader, string propertyName, bool toString)
        {
            object val = null;

            int propertyType = reader.GetPropertyType(propertyName);
            if (reader.IsNull(propertyName))
            {
                switch (propertyType)
                {
                    case 9:
                        val = string.Empty;
                        break;

                    case 3:
                        if (toString)
                        {
                            val = string.Empty;
                        }
                        else
                        {
                            val = new DateTime();
                        }
                        break;
                }
            }
            else
            {
                switch (propertyType)
                {
                    case 1:
                        val = reader.GetBoolean(propertyName);
                        goto Label_01BE;

                    case 2:
                        val = reader.GetByte(propertyName);
                        goto Label_01BE;

                    case 3:
                        {
                            MgDateTime dt = reader.GetDateTime(propertyName);
                            if (!toString)
                            {
                                val = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
                            }
                            else
                            {
                                string strDt = string.Empty;
                                if (dt != null)
                                {
                                    strDt = string.Format("{0}/{1}/{2}", dt.Day, dt.Month, dt.Year);
                                }
                                val = strDt;
                            }
                            goto Label_01BE;
                        }
                    case 4:
                        val = Math.Round((double)reader.GetSingle(propertyName), 2);
                        goto Label_01BE;

                    case 5:
                        val = Math.Round(reader.GetDouble(propertyName), 2);
                        goto Label_01BE;

                    case 6:
                        val = reader.GetInt16(propertyName);
                        goto Label_01BE;

                    case 7:
                        val = reader.GetInt32(propertyName);
                        goto Label_01BE;

                    case 8:
                        val = reader.GetInt64(propertyName);
                        goto Label_01BE;

                    case 9:
                        val = reader.GetString(propertyName);
                        goto Label_01BE;
                }
            }
            Label_01BE:
            if (toString && (val == null))
            {
                val = string.Empty;
            }
            return val;
        }
Beispiel #9
0
 public object GetFeaturePropertyValue(MgReader reader, string propertyName)
 {
     return this.GetFeaturePropertyValue(reader, propertyName, false);
 }
Beispiel #10
0
 public ReaderResponseDialog(MgReader reader)
     : this()
 {
     _reader = reader;
 }