Beispiel #1
0
        private void logOn_Click(object sender, RoutedEventArgs e)
        {
            using (var db = new SimpleScadaContext())
            {
                var users      = db.Users.OrderBy(p => p.Id);
                int countUsers = 0;
                passwordInfo.Content = "";
                usernameInfo.Content = "";
                foreach (var user in users)
                {
                    if (user.User.Equals(txtUsername.Text) && user.Password.Equals(txtPassword.Text))
                    {
                        countUsers++;
                        securityLevel = user.Level;
                        operatorName  = user.User;
                        //MessageBox.Show("Successfull");
                        MainScreen.loginScreen.Close();
                    }
                    if (user.User.Equals(txtUsername.Text) && !user.Password.Equals(txtPassword.Text))
                    {
                        countUsers++;
                        passwordInfo.Content = "Wrong password!";
                    }
                }

                if (countUsers == 0)
                {
                    usernameInfo.Content = $"User doesn't exist in database.";
                }
            }
        }
Beispiel #2
0
        public Trend()
        {
            InitializeComponent();

            actualTime = DateTime.Now;

            _timer1          = new System.Timers.Timer(1000); //Updates every second.
            _timer1.Elapsed += new ElapsedEventHandler(OnTimedEvent);


            SeriesCollection = new SeriesCollection {
            };
            Labels           = new List <string> {
            };
            YFormatter       = value => Math.Round(value, 2).ToString("") + MainScreen.variables.Find(p => p.Name.Equals(data.Last().MeasuringPoin)).MeasuringUnit;


            // Default measuring point will be LI_1

            actualMeasuringPoint = "LI_1";

            SeriesCollection.Add(new LineSeries
            {
                Title  = "LI_1",
                Values = new ChartValues <double> {
                }
            });

            Task.Run(() =>
            {
                using (var db = new SimpleScadaContext())
                {
                    data = db.Data.Where(p => p.MeasuringPoin.Equals("LI_1")).OrderByDescending(p => p.Id).Take(60).ToList();
                }
                counter = 60;
                foreach (var item in data)
                {
                    result = DateTime.Compare(Convert.ToDateTime(item.Time).AddSeconds(60), Convert.ToDateTime(actualTime.ToLongTimeString()));
                    if (result < 0)
                    {
                        SeriesCollection[0].Values.Add(0.0);
                        Labels.Add(actualTime.AddSeconds(counter).ToLongTimeString());
                    }
                    else
                    {
                        SeriesCollection[0].Values.Add(Math.Round(Convert.ToDouble(item.Value), 2));
                        Labels.Add(item.Time);
                    }
                    counter--;
                }

                Labels.Reverse();
                _timer1.Enabled = true;
            });


            DataContext = this;
        }
        private void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            // Top bar info labels
            using (var db = new SimpleScadaContext())
            {
                alarmHistory.Clear();
                alarmHistory.AddRange((IEnumerable <AlarmHistory>)db.AlarmHistory.ToList());
            }

            Dispatcher.Invoke(new Action(() => { alarmHistoryList.ItemsSource = null; }));
            Dispatcher.Invoke(new Action(() => { alarmHistoryList.ItemsSource = alarmHistory; }));
        }
        // -- CRUD -- //

        // Add new user
        private void addButton_Click(object sender, RoutedEventArgs e)
        {
            using (var db = new SimpleScadaContext())
            {
                db.Users.Add(new Users()
                {
                    User = usernameTxt.Text, Password = passwordTxt.Text, Level = Int32.Parse(levelTxt.Text)
                });
                db.SaveChanges();

                showViewList();
            };
        }
        // Delete choosen user
        private void deleteButton_Click(object sender, RoutedEventArgs e)
        {
            var selectedStockObject = userList.SelectedItem as Users;

            using (var db = new SimpleScadaContext())
            {
                var newUser = db.Users.First(p => p.Id == selectedStockObject.Id);
                db.Users.Remove(newUser);
                db.SaveChanges();

                showViewList();
            };
        }
        // Edit choosen user
        private void editButton_Click(object sender, RoutedEventArgs e)
        {
            var selectedStockObject = userList.SelectedItem as Users;

            using (var db = new SimpleScadaContext())
            {
                db.Users.First(p => p.Id == selectedStockObject.Id).User     = usernameTxt.Text;
                db.Users.First(p => p.Id == selectedStockObject.Id).Password = passwordTxt.Text;
                db.Users.First(p => p.Id == selectedStockObject.Id).Level    = Int32.Parse(levelTxt.Text);
                db.SaveChanges();

                showViewList();
            };
        }
 private void showViewList()
 {
     items.Clear();
     using (var db = new SimpleScadaContext())
     {
         // Write Users from database to viewList on Admin Panel
         var users = db.Users.OrderBy(p => p.Id);
         foreach (var user in users)
         {
             items.Add(new SimpleScada.Users()
             {
                 Id = user.Id, User = user.User, Password = user.Password, Level = user.Level
             });
         }
     }
     userList.ItemsSource = null;
     userList.ItemsSource = items;
 }
Beispiel #8
0
        // Create a series collection of specific measuring point choosen in check box
        private void createSeriesCollection(string measuringPoint)
        {
            actualTime      = DateTime.Now;
            _timer1.Enabled = false;
            SeriesCollection.Clear();
            Labels.Clear();
            actualMeasuringPoint = measuringPoint;
            SeriesCollection.Add(new LineSeries
            {
                Title  = measuringPoint,
                Values = new ChartValues <double> {
                }
            });

            Task.Run(() =>
            {
                using (var db = new SimpleScadaContext())
                {
                    data = db.Data.Where(p => p.MeasuringPoin.Equals(measuringPoint)).OrderByDescending(p => p.Id).Take(60).ToList();
                }
                counter = 60;

                YFormatter = null;
                YFormatter = value => value.ToString("") + MainScreen.variables.Find(p => p.Name.Equals(data.Last().MeasuringPoin)).MeasuringUnit;

                foreach (var item in data)
                {
                    result = DateTime.Compare(Convert.ToDateTime(item.Time), actualTime.AddSeconds(60));
                    if (result > 0)
                    {
                        SeriesCollection[0].Values.Add(0.0);
                        Labels.Add(actualTime.AddSeconds(counter).ToLongTimeString());
                    }
                    else
                    {
                        SeriesCollection[0].Values.Add(Convert.ToDouble(item.Value));
                        Labels.Add(item.Time);
                    }
                    counter--;
                }
                Labels.Reverse();
                _timer1.Enabled = true;
            });
        }