private int SetupNetworkList(string name) { var rows = decodes.networklist.Select("name = '" + name + "'"); if (rows.Length == 1) { return(Convert.ToInt32(rows[0]["id"])); } int id = NextID(svr, "networklist"); decodes.networklist.AddnetworklistRow(id, name, "goes", "cbtt", LinuxUtility.ToUnixTime(DateTime.Now) * 1000); svr.SaveTable(decodes.networklist); return(id); }
private void InsertGoesPlatform(int networklistid) { platformID = NextID(svr, "platform"); platformConfigID = NextID(svr, "platformconfig"); decodesScriptID = NextID(svr, "decodesscript"); for (int i = 0; i < mcf.sitemcf.Rows.Count; i++) { McfDataSet.sitemcfRow s = mcf.sitemcf[i]; //var usgs_id = ""; //if (!UsgsSite(s.SITE, out usgs_id)) // continue; if (!InSiteList(s.SITE)) { continue; } string nessid = s.NESSID.Trim(); if (s.TTYPE != "SAT" || s.MASTERSW == 0 || nessid == "" || nessid == "0" || decodes.transportmedium.Select("mediumid='" + nessid + "'").Length > 0 || s.PCHAN == 199) { Console.WriteLine("Skipping adding existing/parked platform " + s.SITE + " " + s.NESSID); continue; } string cfgName = "";// string platformDesignator = ""; string platformDescription = ""; string parameterFilter = ""; List <McfDataSet.sitemcfRow> sitesAtTransmitter = new List <McfDataSet.sitemcfRow>(from row in mcf.sitemcf.AsEnumerable() where row.NESSID == nessid //&& row.NESSID != "" //&& row.NESSID != "0" orderby row.SITE select row); for (int j = 0; j < sitesAtTransmitter.Count; j++) { if (cfgName.Length > 0) { cfgName += "-"; } cfgName += "" + sitesAtTransmitter[j].SITE.Trim(); if (platformDesignator.Length > 0) { platformDesignator += "-"; } platformDesignator += sitesAtTransmitter[j].SITE.Trim(); if (platformDescription.Length > 0) { platformDescription += "\n "; } platformDescription += sitesAtTransmitter[j].DESCR; if (parameterFilter.Length > 0) { parameterFilter += " or "; } parameterFilter += " GOESDEC like '" + sitesAtTransmitter[j].SITE.PadRight(8) + "%' "; } var pc = decodes.platformconfig; var p = decodes.platform; // build Platform and Platform Config together. int siteID = LookupSiteIDFromCBTT(s.SITE.Trim()); var duplicates = pc.Select("name = '" + cfgName + "'"); if (duplicates.Length > 0) { Console.WriteLine(cfgName + " allready exists.. skipping"); continue; } pc.AddplatformconfigRow(platformConfigID, cfgName, s.DESCR, GetManufactureCode(s.DCPMFG)); p.AddplatformRow(platformID, GetAgencyName(s.GRP), "TRUE", siteID, platformConfigID, platformDescription, LinuxUtility.ToUnixTime(DateTime.Now.Date) * 1000, LinuxUtility.ToUnixTime(DateTime.Now.AddYears(100)) * 1000, platformDesignator); decodes.transportmedium.AddtransportmediumRow(platformID, "goes-self-timed", nessid, "ST", s.PCHAN, s.REPTIM, s.TSSIZ, s.REPINT * 60, GetManufactureCode(s.DCPMFG), 0, "S", "UTC", "", 0, 0, "U", 0, "FALSE", "", ""); decodes.networklistentry.AddnetworklistentryRow(networklistid, nessid, s.SITE.Trim(), s.DESCR); decodes.platformproperty.AddplatformpropertyRow(platformID, "HydrometGroup", getHydrometCatagoryName(s)); decodes.platformproperty.AddplatformpropertyRow(platformID, "USGS", "True"); decodes.platformproperty.AddplatformpropertyRow(platformID, "expectLength", s.SMSGLEN.ToString()); // need parameter filter.... var parameters = (McfDataSet.goesmcfRow[])mcf.goesmcf.Select(parameterFilter + " and ACTIVE = 1"); string dataOrder = "D"; if (s.DCPMFG == "A") { dataOrder = "A"; } decodes.decodesscript.AdddecodesscriptRow(decodesScriptID, platformConfigID, "ST", "Decodes", dataOrder); BuildDecodesScripts(sitesAtTransmitter.ToArray(), siteID, parameters, platformConfigID, decodesScriptID); InsertBatteryVoltScript(platformConfigID, decodesScriptID, parameters.Length + 1, s); m_converter.AddBatteryVoltConverter(decodesScriptID, parameters.Length + 1, s); platformID++; platformConfigID++; decodesScriptID++; } }