Пример #1
0
        public static List <Computer> GetNetworkComputerList()
        {
            List <Computer> computers = new List <Computer>();

            Execute($"SELECT c.*,r.number FROM computer c JOIN room r ON r.id=c.audit_id;");
            while (dataReader.Read())
            {
                Computer c = new Computer()
                {
                    _Name        = dataReader[0].ToString(),
                    _AuditNumber = dataReader[6].ToString(),
                    _Ip          = dataReader[3].ToString(),
                    _MAC         = dataReader[4].ToString()
                };
                c._MAC = DataManager.AddMacPoints(c._MAC);
                computers.Add(c);
            }
            foreach (Computer c in computers)
            {
                Execute($"SELECT s.name FROM os_and_software oos JOIN computer c ON c.computer_name = oos.computer_name JOIN software s ON s.id=oos.program_id WHERE c.computer_name='{c._Name}';");
                while (dataReader.Read())
                {
                    Software s = new Software()
                    {
                        Name = dataReader[0].ToString()
                    };
                    c.AddSoftware(s);
                }
                Execute($"SELECT cp.*, cc.count FROM component_in_computer cc JOIN component_parts cp ON cp.id=cc.component_id WHERE computer_name = '{c._Name}';");
                HardwareType ht;
                while (dataReader.Read())
                {
                    Enum.TryParse(dataReader[2].ToString(), out ht);
                    Hardware h = new Hardware()
                    {
                        Model  = dataReader[1].ToString(),
                        Type   = ht,
                        Memory = dataReader[3].ToString() == "" ? 0 : (short)dataReader[3],
                        Count  = Int32.Parse(dataReader[4].ToString())
                    };
                    c.AddHardware(h);
                }
            }
            return(computers);
        }
Пример #2
0
        static void Main(string[] args)
        {
            var handle = GetConsoleWindow();

            ShowWindow(handle, SW_HIDE);

            LogMaker lm = new LogMaker();
            Settings st = new Settings();

            st.SeparationSymbol = ':';
            st.EndOfLineType    = Settings.EOLType.CRLF;
            String ip   = st.GetValue("server");
            String port = st.GetValue("port");

            lm.Log("Запуск программы.");
            if (!Pgs.SetDatabaseConnectionWithRole(ip, port, "guest"))
            {
                lm.Log($"Ошибка подключения к базе с параметрами [{ip}] [{port}].");
                return;
            }
            Computer currentComputer = new Computer();

            try
            {
                ComputerInformation nw = new ComputerInformation();
                currentComputer._MAC  = nw.GetMACAddress();
                currentComputer._Name = nw.GetName();
                currentComputer._Ip   = nw.GetIp();
                currentComputer._Os   = nw.GetOs();

                List <Software> soft = nw.GetSoftwareCollection();
                foreach (Software s in soft)
                {
                    currentComputer.AddSoftware(s);
                }
                List <string>       view = new List <string>();
                ComputerInformation ci   = new ComputerInformation();
                ci.ScanFromCpuZ();
                currentComputer.AddHardware(ci.GetCpu());
                currentComputer.AddHardware(ci.GetMotherboard());
                foreach (Hardware h in ci.GetGpus())
                {
                    currentComputer.AddHardware(h);
                }
                foreach (Hardware h in ci.GetRams())
                {
                    currentComputer.AddHardware(h);
                }
                foreach (Hardware h in ci.GetHdds())
                {
                    currentComputer.AddHardware(h);
                }

                String audnum = st.GetValue("auditory_number");
                currentComputer._AuditNumber = audnum;
                Pgs.AddComputerAndOs(currentComputer);
                Pgs.AddSoftwareToComputer(currentComputer);
                Pgs.AddHardwareToComputer(currentComputer);
                lm.Log("Данные успешно отправлены.");
            }
            catch (Exception ex)
            {
                lm.Log("Ошибка при работе с данными: " + ex.Message);
            }
        }