예제 #1
0
 public bool UpdateSiteDataType(IDbConnection db, SiteDatatypeModel.HdbSiteDatatype dtype)
 {
     throw new NotImplementedException();
 }
예제 #2
0
        /// <summary>
        /// Method to emulate the HDB_SITEDATATYPE table
        /// </summary>
        /// <param name="cbttPcode"></param>
        /// <param name="cbtt"></param>
        /// <param name="pcode"></param>
        /// <returns></returns>
        public static List <SiteDatatypeModel.HdbSiteDatatype> GetCbttPcodeInfo(string[] cbttPcode, string[] cbtt, string[] pcode)
        {
            List <Models.SiteDatatypeModel.HdbSiteDatatype> cbttPCodeResults = new List <SiteDatatypeModel.HdbSiteDatatype>();
            var sitePcodeList = GetSitePcodeList(cbttPcode);
            var siteList      = GetSitePcodeList(cbtt, false);
            var pcodeList     = GetSitePcodeList(pcode, false);

            var sqlString = "isfolder=0 ";

            if (sitePcodeList != null && sitePcodeList.Count() != 0)
            {
                string ids = "";
                foreach (string[] ithId in sitePcodeList)
                {
                    ids += "'" + ithId[0] + "_" + ithId[1] + "',";
                }
                sqlString += "and name in (" + ids.TrimEnd(',') + ") ";
            }
            if (siteList != null && siteList.Count() != 0)
            {
                string ids = "";
                foreach (string[] ithId in siteList)
                {
                    ids += "'" + ithId[0] + "',";
                }
                sqlString += "and siteid in (" + ids.TrimEnd(',') + ") ";
            }
            if (pcodeList != null && pcodeList.Count() != 0)
            {
                string ids = "";
                foreach (string[] ithId in pcodeList)
                {
                    ids += "'" + ithId[0] + "',";
                }
                sqlString += "and parameter in (" + ids.TrimEnd(',') + ") ";
            }

            var searchTable = seriesTable.Select(sqlString).CopyToDataTable();

            DataRow[] sitePcodeRow = new DataView(searchTable).ToTable(true, "siteid", "parameter").Select();

            foreach (DataRow sitePcode in sitePcodeRow)
            {
                try
                {
                    var ithSitePCode = new SiteDatatypeModel.HdbSiteDatatype();
                    ithSitePCode.site_datatype_id = sitePcode["siteid"].ToString().ToUpper() + " " + sitePcode["parameter"].ToString().ToUpper();
                    ithSitePCode.site_id          = sitePcode["siteid"].ToString().ToUpper();
                    ithSitePCode.datatype_id      = sitePcode["parameter"].ToString().ToUpper();
                    var siteMetadata  = GetSiteInfo(new string[] { ithSitePCode.site_id });
                    var pcodeMetadata = GetPcodeInfo(new string[] { ithSitePCode.datatype_id });
                    ithSitePCode.metadata = new SiteDatatypeModel.SiteDataTypeMetadata();
                    ithSitePCode.metadata.site_metadata     = siteMetadata[0];
                    ithSitePCode.metadata.datatype_metadata = pcodeMetadata[0];
                    cbttPCodeResults.Add(ithSitePCode);
                }
                catch
                {
                }
            }
            return(cbttPCodeResults);
        }