예제 #1
0
        void UpdateProgrammsList(int id)
        {
            loadProgrammsContext(); // Обновляем список
            using (nkeEntities1 db = new nkeEntities1())
            {
                // Загружаем список доступных пользователю программ
                var userProgramms = db.Programms.Where(x => x.UserID == id).ToList();

                foreach (var programm in userProgramms)
                {
                    // Если нашли программу в листе то устанавливаем чекбокс в true
                    try
                    {
                        var attachedProgramm = programmsContextList.First(x => x.ProgrammName == programm.ProgrammName);
                        attachedProgramm.IsChecked = true;
                    }
                    catch // Если программы нет в листе, но есть в базе то добавляем
                    {
                        programmsContextList.Add(new ProgrammsContext()
                        {
                            ProgrammName = programm.ProgrammName, ProgrammPath = programm.ProgrammPath, IsChecked = true
                        });
                    }
                }
            }
        }
예제 #2
0
        void loadStudent()
        {
            AdminPanel.Visibility   = Visibility.Hidden;  // Скрываем панель админа
            StudentPanel.Visibility = Visibility.Visible; // Показываем панель студента

            // Процедура отлова всех окон
            //CatchingWindows();

            // Указываем путь для локальных и сетевых папок
            BrowserPublic.Navigate(@"C:\");
            //BrowserUser.Navigate(@"\\DC-CLOUD-2\" + user.Login);

            using (nkeEntities1 db = new nkeEntities1())
            {
                var programms = db.Programms.Where(x => x.UserID == user.ID).ToList(); // Загружаем список доступных пользователю программ
                foreach (var item in programms)                                        // Создание кнопки для каждой программы
                {
                    System.Windows.Controls.Button btn = new System.Windows.Controls.Button();
                    btn.Click              += OpenProgramm;      // Вешаем событие на кнопку
                    btn.Content             = item.ProgrammName; // Указываем имя программы
                    btn.Height              = 40;
                    btn.Cursor              = System.Windows.Input.Cursors.Hand;
                    btn.Style               = Resources["RoundedButtonStyle"] as Style;
                    btn.Margin              = new Thickness(5);
                    btn.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
                    spProgramms.Children.Add(btn); // Добавляем кнопку на форму в stack panel
                    programmsList.Add(item);       // Так же добавляем запись о кнопке в лист
                }
            }
        }
예제 #3
0
        private void saveP_Click(object sender, RoutedEventArgs e)
        {
            using (nkeEntities1 db = new nkeEntities1())
            {
                // Загружаем список программ которые уже есть у пользователя в базе данных
                List <Programms> oldProgramms = new List <Programms>();
                oldProgramms = db.Programms.Where(x => x.UserID == (int)UsersCB.SelectedValue).ToList();


                foreach (var pr in programmsContextList) // Пробегаемся по списку всех программ на компьютере
                {
                    // Если нашли программу которая есть у пользователя в БД и галочка убрана то удаляем её из БД
                    var isset = oldProgramms.FirstOrDefault(x => x.ProgrammName == pr.ProgrammName && x.UserID == (int)UsersCB.SelectedValue);
                    if (isset != null && !pr.IsChecked)
                    {
                        var delP = db.Programms.First(x => x.ProgrammName == isset.ProgrammName && x.UserID == (int)UsersCB.SelectedValue);
                        db.Programms.Remove(delP);
                    }
                    else if (isset == null) // Если программы нет в БД у пользователя и она отмечена галочкой то добавляем её в БД
                    {
                        if (pr.IsChecked)
                        {
                            Programms program = new Programms();
                            program.ProgrammName = pr.ProgrammName;
                            program.ProgrammPath = pr.ProgrammPath;
                            program.UserID       = Convert.ToInt32(UsersCB.SelectedValue);
                            db.Programms.Add(program);
                        }
                    }
                }
                db.SaveChanges();
            }
            System.Windows.MessageBox.Show("Изменения успешно сохранены!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
        }
예제 #4
0
        // Functions

        void loadAdmin()
        {
            TopPanel.Height = new GridLength(0); // Скрываем верхнюю панель
            // Меняем пропорции у чата
            ChatRow1.Height = new GridLength(0.08, GridUnitType.Star);
            ChatRow2.Height = new GridLength(0.84, GridUnitType.Star);
            // Меняем цвет у таблиц с файлами
            GridLocal.Background   = (SolidColorBrush)(new BrushConverter().ConvertFrom("#BDBDBD"));
            GridNetwork.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#BDBDBD"));

            AdminPanel.Visibility   = Visibility.Visible; // Показываем панель админа
            StudentPanel.Visibility = Visibility.Hidden;  // Скрываем панель студента

            // Указываем путь для сетевых и локальных папок
            BrowserPublic.Navigate(@"C:\");
            BrowserUser.Navigate(@"C:\");

            // Загружаем список студентов в Combobox
            using (nkeEntities1 db = new nkeEntities1())
                UsersCB.ItemsSource = db.Users.Where(x => x.Role == "Student").ToList();

            UsersCB.VerticalContentAlignment = VerticalAlignment.Center;
            // Устанавливаем поле которое будет отображаться
            UsersCB.DisplayMemberPath = "Login";
            // Устанавливаем фактическое значение отображаемого поля
            UsersCB.SelectedValuePath = "ID";
            UsersCB.SelectedIndex     = 0; // Делаем выбранным первый элемент

            // Загружаем список установленных на компьютере программ
            loadProgrammsContext();

            // Расставляем чекбоксы на программах которые уже доступны пользователю
            UpdateProgrammsList(Convert.ToInt32(UsersCB.SelectedValue));
        }
예제 #5
0
        // Functions

        void Auth(string login, string pass)
        {
            using (nkeEntities1 db = new nkeEntities1())
            {
                var User = db.Users.FirstOrDefault(x => x.Login == login && x.Password == pass);
                if (User != null)
                {
                    //switch (isUser.Role) {
                    //    case "Admin":
                    //        MessageBox.Show("Admin","Info",MessageBoxButton.OK,MessageBoxImage.Information);
                    //        break;
                    //    case "Teacher":
                    //        MessageBox.Show("Teacher", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                    //        break;
                    //    case "Student":
                    //        MessageBox.Show("Student", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                    //        break;
                    //    case "User":
                    //        MessageBox.Show("User", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                    //        break;
                    //    case "Internet":
                    //        MessageBox.Show("Internet", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                    //        break;
                    //}

                    UserPanel f = new UserPanel(User);
                    f.Show();
                }
                else
                {
                    System.Windows.MessageBox.Show("Неверный логин или пароль", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }