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();
                }
            }
        }
Example #2
0
        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;
                }
            }
        }