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); }
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); } }