Exemplo n.º 1
0
        /// <summary>
        ///  Add all sub-features to the parent feature recursively.
        /// </summary>
        /// <param name="parent"></param>
        public void CreateTopDownNetwork(HydroFeature parent)
        {
            string    sql = "select * from " + Configuration.HydroFeaturesTableName + " where ParentFeatureID=" + parent.ID;
            DataTable dt  = mDBase.QueryDataTable(sql);

            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    int              id      = Convert.ToInt32(dr["FeatureID"].ToString());
                    string           type    = dr["FeatureType"].ToString();
                    string           name    = dr["FeatureName"].ToString();
                    string           des     = dr["Descriptions"].ToString();
                    HydroFeatureType htype   = HydroFeatureFactory.GetHydroFeaturetype(type);
                    HydroFeature     feature = HydroFeatureFactory.CreateHydroFeature(id, name, des, htype);
                    if (feature.HydroFeatureType == HydroFeatureType.HydroPoint)
                    {
                        feature = mODMDataAdaptor.GetSiteInfo(id);
                    }
                    parent.SubFeatures.Add(feature);
                    feature.ParentFeatures.Add(parent);
                    if (feature.HydroFeatureType != HydroFeatureType.HydroPoint)
                    {
                        CreateTopDownNetwork(feature);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public static HydroFeature GetHydroFeature(int id, IDBase dBase)
        {
            string    sql = "select * from " + Configuration.HydroFeaturesTableName + " where FeatureID=" + id;
            DataTable dt  = dBase.QueryDataTable(sql);

            if (dt != null)
            {
                DataRow          dr    = dt.Rows[0];
                string           type  = dr["FeatureType"].ToString();
                string           name  = dr["FeatureName"].ToString();
                string           des   = dr["Descriptions"].ToString();
                HydroFeatureType htype = HydroFeatureFactory.GetHydroFeaturetype(type);
                return(CreateHydroFeature(id, name, des, htype));
            }
            else
            {
                return(null);
            }
        }