public SystemInfo GetSystemInfo(string databaseName, IDbTransaction transaction) { IDataReader reader = null; try { reader = ExecuteSqlReader(transaction, databaseName, tbSysInfoRetrieve, false); SystemInfo systemInfo = new SystemInfo { DatabaseName = databaseName }; while (reader.Read()) { systemInfo.Add(reader["Name"].ToString(), reader["Value"].ToString()); } return(systemInfo); } catch (Exception) { return(new SystemInfo { DatabaseName = databaseName, Version = 0 }); } finally { if (reader != null) { reader.Close(); } } }
private static void Process(string data) { if (data.StartsWith("[")) { string[] valuepair = data.Substring(1).TrimEnd(']').Split(':'); switch (valuepair[0]) { case "VER": Version = valuepair[1]; if (valuepair.Count() > 2) { Identity = valuepair[2]; } break; case "OPT": Options = valuepair[1]; string[] s = Options.Split(','); if (s.Length > 1) { PlanBufferSize = int.Parse(s[1], CultureInfo.InvariantCulture); } if (s.Length > 2) { SerialBufferSize = int.Parse(s[2], CultureInfo.InvariantCulture); } if (s.Length > 3) { NumAxes = int.Parse(s[3], CultureInfo.InvariantCulture); } if (s.Length > 4) { NumTools = int.Parse(s[4], CultureInfo.InvariantCulture); } break; case "NEWOPT": NewOptions = valuepair[1]; string[] s2 = valuepair[1].Split(','); foreach (string value in s2) { if (value.StartsWith("TMC:")) { TrinamicDrivers = value.Substring(4); } else { switch (value) { case "TC": ManualToolChange = true; break; case "ATC": HasATC = true; break; case "ETH": break; case "SD": HasSDCard = true; break; case "PID": HasPIDLog = true; break; case "LATHE": LatheModeEnabled = true; break; } } } break; default: SystemInfo.Add(data); break; } } }