private void FlashFeature(object param)
        {
            if (_resultFeature == null)
            {
                return;
            }

            if (_resultFeature is HluDataSet.incid_mm_polygonsRow)
            {
                List <List <SqlFilterCondition> > whereClause =
                    ViewModelWindowMainHelpers.GisSelectionToWhereClause(new R[] { _resultFeature },
                                                                         _keyOrdinals, 10, _selectedFeatures);
                if (whereClause.Count == 1)
                {
                    _gisApp.FlashSelectedFeature(whereClause[0]);
                }
            }
            else if ((_currChildRows != null) && (_currChildRows.Length > 0))
            {
                foreach (HluDataSet.incid_mm_polygonsRow r in _currChildRows)
                {
                    List <List <SqlFilterCondition> > whereClause =
                        ViewModelWindowMainHelpers.GisSelectionToWhereClause(new HluDataSet.incid_mm_polygonsRow[] { r },
                                                                             _keyOrdinals, 100, _selectedFeatures);
                    if (whereClause.Count == 1)
                    {
                        _gisApp.FlashSelectedFeature(whereClause[0]);
                    }
                }
            }
        }
예제 #2
0
        private void FlashFeature(object param)
        {
            if (_resultFeature == null)
            {
                return;
            }

            if (_resultFeature is HluDataSet.incid_mm_polygonsRow)
            {
                List <List <SqlFilterCondition> > whereClause =
                    ViewModelWindowMainHelpers.GisSelectionToWhereClause(new R[] { _resultFeature },
                                                                         _keyOrdinals, 10, _selectedFeatures);

                // Flash all the features relating to the where clause together.
                if (whereClause.Count == 1)
                {
                    _gisApp.FlashSelectedFeature(whereClause[0]);
                }
            }
            else if ((_currChildRows != null) && (_currChildRows.Length > 0))
            {
                //---------------------------------------------------------------------
                // CHANGED: CR23 (Merged features)
                // Flash all the features relating to the selected incid at once.
                //
                //foreach (HluDataSet.incid_mm_polygonsRow r in _currChildRows)
                //{
                //    List<List<SqlFilterCondition>> whereClause =
                //        ViewModelWindowMainHelpers.GisSelectionToWhereClause(new HluDataSet.incid_mm_polygonsRow[] { r },
                //        _keyOrdinals, 100, _selectedFeatures);
                //    if (whereClause.Count == 1)
                //        _gisApp.FlashSelectedFeature(whereClause[0]);
                //}
                List <List <SqlFilterCondition> > whereClauses =
                    ViewModelWindowMainHelpers.GisSelectionToWhereClause(_currChildRows,
                                                                         _keyOrdinals, 100, _selectedFeatures);

                // Flash all the features relating to the where clause together
                // or in groups if there are too many features to fit within a single
                // item in the where clauses list.
                if (whereClauses.Count == 1)
                {
                    _gisApp.FlashSelectedFeature(whereClauses[0]);
                }
                else
                {
                    _gisApp.FlashSelectedFeatures(whereClauses);
                }
                //---------------------------------------------------------------------
            }
        }