Instances of Maparound.DataProviders.IdNeededEventArgs contains data for the IdNeeded event.
Inheritance: System.EventArgs
        private void insertFeatureIntoDataTable(Feature feature, DbCommand command)
        {
            string uniqKey = feature.UniqKey;

            if (IdValueNeeded != null)
            {
                IdNeededEventArgs args = new IdNeededEventArgs(feature);
                IdValueNeeded(this, args);
                uniqKey = args.Id;
            }

            string title       = feature.Title;
            int    featureType = (int)feature.FeatureType;

            byte[]            spatialData   = SpatialDataBytesFromFeature(feature);
            BoundingRectangle featureBounds = feature.BoundingRectangle;

            command.CommandText = "insert into " + _dataTableName +
                                  "(" + UniqKeyField + ", " + TitleField + ", " + FeatureTypeField + ", " + SpatialDataField + ", " +
                                  MinXField + ", " + MinYField + ", " + MaxXField + ", " + MaxYField + ") values " +
                                  "(@" + UniqKeyField + ", @" + TitleField + ", @" + FeatureTypeField + ", @" + SpatialDataField + ", " +
                                  "@" + MinXField + ", @" + MinYField + ", @" + MaxXField + ", @" + MaxYField + ")";

            addParameter(command, UniqKeyField, uniqKey);
            addParameter(command, TitleField, title);
            addParameter(command, FeatureTypeField, featureType);
            addParameter(command, SpatialDataField, spatialData);
            addParameter(command, MinXField, featureBounds.MinX);
            addParameter(command, MinYField, featureBounds.MinY);
            addParameter(command, MaxXField, featureBounds.MaxX);
            addParameter(command, MaxYField, featureBounds.MaxY);

            command.ExecuteNonQuery();
            command.Parameters.Clear();
        }
        private void insertFeatureIntoDataTable(Feature feature, DbCommand command)
        {
            string uniqKey = feature.UniqKey;
            if (IdValueNeeded != null)
            {
                IdNeededEventArgs args = new IdNeededEventArgs(feature);
                IdValueNeeded(this, args);
                uniqKey = args.Id;

            }

            string title = feature.Title;
            int featureType = (int)feature.FeatureType;
            byte[] spatialData = SpatialDataBytesFromFeature(feature);
            BoundingRectangle featureBounds = feature.BoundingRectangle;

            command.CommandText = "insert into " + _dataTableName +
                "(" + UniqKeyField + ", " + TitleField + ", " + FeatureTypeField + ", " + SpatialDataField + ", " + 
                      MinXField + ", " + MinYField + ", " + MaxXField + ", " + MaxYField + ") values " +
                "(@" + UniqKeyField + ", @" + TitleField + ", @" + FeatureTypeField + ", @" + SpatialDataField + ", " + 
                "@" + MinXField + ", @" + MinYField + ", @" + MaxXField + ", @" + MaxYField + ")";

            addParameter(command, UniqKeyField, uniqKey);
            addParameter(command, TitleField, title);
            addParameter(command, FeatureTypeField, featureType);
            addParameter(command, SpatialDataField, spatialData);
            addParameter(command, MinXField, featureBounds.MinX);
            addParameter(command, MinYField, featureBounds.MinY);
            addParameter(command, MaxXField, featureBounds.MaxX);
            addParameter(command, MaxYField, featureBounds.MaxY);

            command.ExecuteNonQuery();
            command.Parameters.Clear();
        }