コード例 #1
0
ファイル: ComputersViewModel.cs プロジェクト: Patrol30/pzpp
 private void Delete()//funkcja usuwania rekordów z bazy (usuwa też powiązane kaskadowo)
 {
     using (var db = new PingDataContext())
     {
         Devices device = new Devices()
         {
             Id = _Computers[_SelectedDevice].Id
         };                                                                   //sprawdzenie id zaznaczoneko rekordu i stworzenie jego obiektu
         db.Devices.Attach(device);                                           //przyłączenie tego obiektu do istniejącego w bazie (id jest tylko jedno)
         db.Devices.Remove(device);                                           //usunięcie rekordu
         db.SaveChanges();
         Computers = new ObservableCollection <Devices>(db.Devices.ToList()); //aktualizacja tabelki
     }
 }
コード例 #2
0
ファイル: MainWindowViewModel.cs プロジェクト: Patrol30/pzpp
        }                         //służy do wywołania funkcji przez binding musi być przypisana do funkcji w konstruktorze
        private void PingDevice() //funkcja pingowania
        {
            Ping pinger = new Ping();

            try
            {
                if (_SelectedDevice != -1)
                {
                    var       id    = IdControl[_SelectedDevice];             //bierze id zaznaczonego urządzenia
                    PingReply reply = pinger.Send(DevicesIP[SelectedDevice]); //przypisanie jakie ip pingujemy
                    using (var db = new PingDataContext())
                    {
                        if (reply.Status == IPStatus.Success)//jeśli ping się powiódł
                        {
                            PingStatusColor = "Green";
                            PingStatusText  = "TRUE";
                            db.Responses.Add(new Responses() //sapisanie donych do bazy
                            {
                                Device_Id = id,
                                Success   = true,
                                PingTime  = reply.RoundtripTime, //czas pingu (ms)
                                Time      = DateTime.Now         //Data pingu
                            });
                        }
                        else//jak się nie udał
                        {
                            PingStatusColor = "Red";
                            PingStatusText  = "False";
                            db.Responses.Add(new Responses()
                            {
                                Device_Id = id,
                                Success   = false,
                                Time      = DateTime.Now
                            });
                        }
                        db.SaveChanges(); //zapis danych do bazy (zostaje przesłane do bazy SQL)
                    }
                }
            }
            catch (PingException)
            {
                // Discard PingExceptions and return false;
            }
        }
コード例 #3
0
ファイル: MainWindowViewModel.cs プロジェクト: Patrol30/pzpp
        private void AddDevice() // dodawanie urządzenia
        {
            using (var db = new PingDataContext())
            {
                db.Devices.Add(new Devices()
                {
                    IP          = _IPAddress,
                    Name        = _Name,
                    Description = _Description
                });

                db.SaveChanges();
                DevicesList.Add(_Name + " " + _IPAddress);    //dodanie nowego urządzenia do listy
                DevicesIP.Add(_IPAddress);                    //dodanie ip
                IdControl.Add(db.Devices.ToList().Last().Id); //dodanie id nowego elementu (bierze ostatnie id z bazy - to dodane)
                Name        = "";
                IPAddress   = "";
                Description = "";
            }
        }