示例#1
0
        public void Add(ComputerData computerData)
        {
            var history = computerDataHistories.FirstOrDefault(p => p.ComputerName == computerData.ComputerName);

            if (history != null && history.ComputerName == computerData.ComputerName)
            {
                var historyElement = new ComputerDataHistoryElement(computerData);
                history.Add(historyElement);
            }
            else
            {
                var newHistory     = new ComputerDataHistory(computerData.ComputerName);
                var historyElement = new ComputerDataHistoryElement(computerData);
                newHistory.Add(historyElement);
                computerDataHistories.Add(newHistory);
            }
        }
示例#2
0
        public void AddComputerDataToList(List <ComputerData> computerDataList, ComputerData computerData)
        {
            var comp = computerDataList.FirstOrDefault(p => p.ComputerName == computerData.ComputerName);

            if (comp != null && comp.ComputerName == computerData.ComputerName)
            {
                comp.ComputerLocation     = computerData.ComputerLocation;
                comp.ComputerCPU          = computerData.ComputerCPU;
                comp.ComputerRAM          = computerData.ComputerRAM;
                comp.ComputerAvailableRAM = computerData.ComputerAvailableRAM;
                comp.ComputerDisk         = computerData.ComputerDisk;
                comp.ComputerPageFile     = computerData.ComputerPageFile;
            }
            else
            {
                computerDataList.Add(computerData);
            }
        }
示例#3
0
        public void Subscriber()
        {
            runProcess = true;

            using (var subSocket = new ResponseSocket())
            {
                var host     = Dns.GetHostEntry(Dns.GetHostName());
                var serverIP = host.AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);
                subSocket.Bind("tcp://" + serverIP + ":12322");
                DataGridViewButtonColumn DetailsButton = new DataGridViewButtonColumn
                {
                    Name       = "CompDetailsButton",
                    HeaderText = "Szczegóły",
                    Text       = "Szczegóły",
                    UseColumnTextForButtonValue = true
                };
                if (computersDataGridView1.Columns["CompDetailsButton"] == null)
                {
                    this.Invoke((MethodInvoker) delegate
                    {
                        computersDataGridView1.Columns.Insert(7, DetailsButton);
                    });
                }
                computersDataGridView1.CellClick += DetailsButton_Click;

                while (runProcess)
                {
                    isConnected = true;
                    string messageReceived = subSocket.ReceiveFrameString();
                    subSocket.SendFrame("OK");
                    WyswietlWszystko(messageReceived);
                    ComputerData computerData = JsonConvert.DeserializeObject <ComputerData>(messageReceived);
                    AddComputerDataToList(computerDataList, computerData);
                    CompDataHistories.Add(computerData);
                    DisplayAlarms(computerDataList, computerData);
                    this.Invoke((MethodInvoker) delegate
                    {
                        ChangeData();
                    });
                }
                computersCounter = computersDataGridView1.RowCount;
            }
        }
示例#4
0
        public void DisplayAlarms(List <ComputerData> computerDataList, ComputerData computerData)
        {
            var comp = computerDataList.FirstOrDefault(p => p.ComputerName == computerData.ComputerName);

            if (comp.ComputerCPU > 90)
            {
                richTextBox1.Text = "\nZbyt duże przeciążenie procesora!\n";
            }
            if (comp.ComputerRAM <= 500)
            {
                richTextBox1.Text = "\nZa mało dostępnej pamięci!\n";
            }
            if (comp.ComputerDisk > 1000)
            {
                richTextBox1.Text = "\nZbyt duże obciążenie dysku!\n";
            }
            if (comp.ComputerPageFile > 50)
            {
                richTextBox1.Text = "\nZbyt duże obciążenie pliku stronicowania!\n";
            }
        }
 public ComputerDataHistoryElement(ComputerData comp)
 {
     Date         = DateTime.Now;
     ComputerData = comp;
 }