コード例 #1
0
        /// <summary>
        /// List the Maps with an indication of subscription
        /// </summary>
        /// <returns></returns>
        internal static DataTable ListDataHubDatasetsWithSubscriptions()
        {
            DataTable dt = null;

            MetaData.MetaDataSoapClient client = null;

            string url = DataHubConfiguration.Current.DataHubHttps;
            if (string.IsNullOrEmpty(url)) url = _DataHubHttps;
            if (url.StartsWith("https", StringComparison.InvariantCultureIgnoreCase))
            {
                client = new MetaData.MetaDataSoapClient(new BasicHttpBinding(BasicHttpSecurityMode.Transport), new EndpointAddress(url));
            }
            else
            {
                client = new MetaData.MetaDataSoapClient(new BasicHttpBinding(), new EndpointAddress(url));
            }
            MetaData.DataSetMetaData[] datasets = client.ListDataSets();
            MetaData.ArrayOfString subscribed = client.ListSubscribedDataSets(DataHubConfiguration.Current.UserName, DataHubConfiguration.Current.Password);
            List<string> subs = new List<string>();
            if (subscribed != null)
            {
                foreach (string s in subscribed)
                {
                    subs.Add(s.Trim().ToUpper());
                }
            }

            string path = DataHubConfiguration.Current.DataHubHttp;
            if (string.IsNullOrEmpty(path)) path = _DataHubHttp;

            //path = path.Substring(0, path.Length - @"/MetaData.asmx".Length);
            path = path.Substring(0, path.LastIndexOf("/"));

            dt = new DataTable();
            dt.Columns.Add("NAME");
            dt.Columns.Add("ID");
            dt.Columns.Add("ABSTRACT");
            dt.Columns.Add("SERVICETYPE");
            dt.Columns.Add("GAZURL");
            dt.Columns.Add("GAZID");

            dt.Columns.Add("IS_SUBSCRIBED");
            dt.Columns.Add("DETAIL");
            dt.Columns.Add("URL");
            dt.Columns.Add("TOKEN_SERVICE_URL");
            dt.Columns.Add("THUMBNAIL_URL");
            dt.Columns.Add("IS_PREMIUM");
            dt.Columns.Add("TERMS_AND_CONDITIONS");
            if (string.IsNullOrEmpty(path) == false)
            {
                foreach (MetaData.DataSetMetaData d in datasets)
                {
                    DataRow dr = dt.NewRow();
                    dr["URL"] = d.Url;
                    dr["TOKEN_SERVICE_URL"] = d.TokenUrl;
                    dr["NAME"] = d.Name;
                    dr["ABSTRACT"] = d.Abstract;
                    dr["ID"] = d.Id;
                    dr["GAZURL"] = d.GazUrl;
                    dr["GAZID"] = d.GazId;
                    dr["SERVICETYPE"] = d.ServiceType;
                    dr["DETAIL"] = path + "/" + d.Detail;
                    dr["THUMBNAIL_URL"] = path + "/" + d.Thumbnail;
                    dr["TERMS_AND_CONDITIONS"] = path + "/" + d.TermsAndConditions;
                    dr["IS_SUBSCRIBED"] = subs.Contains(d.Id.Trim().ToUpper()) == true ? "Y" : "N";
                    dr["IS_PREMIUM"] = d.IsPremium == true ? "Y" : "N";
                    dt.Rows.Add(dr);
                }
                dt.AcceptChanges();
            }

            return dt;
        }
コード例 #2
0
        /// <summary>
        /// List the Maps with an indication of subscription
        /// </summary>
        /// <returns></returns>
        internal static string TestLoginDetails(string inUserName, string inPassword)
        {
            MetaData.MetaDataSoapClient client = null;

            string url = DataHubConfiguration.Current.DataHubHttps;
            if (string.IsNullOrEmpty(url)) url = _DataHubHttps;
            if (url.StartsWith("https", StringComparison.InvariantCultureIgnoreCase))
            {
                client = new MetaData.MetaDataSoapClient(new BasicHttpBinding(BasicHttpSecurityMode.Transport), new EndpointAddress(url));
            }
            else
            {
                client = new MetaData.MetaDataSoapClient(new BasicHttpBinding(), new EndpointAddress(url));
            }

            try
            {
                MetaData.DataSetMetaData[] items = client.ListDataSets();

            }
            catch (Exception)
            {
                return "COULDNOTCONNECT";
            }

            try
            {
                MetaData.ArrayOfString subscribed = client.ListSubscribedDataSets(inUserName, inPassword);
            }
            catch (Exception)
            {
                return "COULDNOTCONNECTWITHCRED";
            }

            return "";
        }