Ejemplo n.º 1
0
 private void Enter_Click(object sender, RoutedEventArgs e)
 {
     if (Login.Text.Length > 0 && Password.Password.Length > 0)
     {
         if (DataManager.CheckInputString(@"^(?=.{3,10}$)[A-Za-z0-9]*$", Login.Text))                   //предварительная проверка логина
         {
             if (DataManager.CheckInputString(@"^(?=.{5,20}$)[A-Za-z0-9!#$%^&*]*$", Password.Password)) //предварительная проверка пароля
             {
                 SqlManager connection = new SqlManager();
                 int        flag       = connection.ExistsAccount(Login.Text, Password.Password); //проверка на существование аккаунта
                 if (flag == 0)
                 {
                     //получение прав доступа
                     DataPerson.right = connection.ReturnNumber("SELECT access_right FROM Accounts " +
                                                                "WHERE login = '******'");
                     if (DataPerson.right != -2)
                     {
                         //получение номера аккаунта в зависимости от прав
                         if (DataPerson.right == 3)
                         {
                             DataPerson.id = connection.ReturnNumber("SELECT Num_tourist FROM Accounts " +
                                                                     "WHERE login = '******'");
                             if (DataPerson.id == -2)
                             {
                                 flag = -2;
                             }
                         }
                         else if (DataPerson.right == 2)
                         {
                             DataPerson.id = connection.ReturnNumber("SELECT Num_worker FROM Accounts " +
                                                                     "WHERE login = '******'");
                             if (DataPerson.id == -2)
                             {
                                 flag = -2;
                             }
                         }
                         if ((DataPerson.right == 2 || DataPerson.right == 3) && flag != -2)
                         {
                             TourismWindow tw = new TourismWindow();
                             tw.Show();
                             Close();
                         }
                         else if (DataPerson.right == 1 && flag != -2)
                         {
                             WindowAdmin wa = new WindowAdmin();
                             wa.Show();
                             Close();
                         }
                         else
                         {
                             ShowConnectionError();
                         }
                         System.GC.Collect();
                     }
                     else
                     {
                         ShowConnectionError();
                     }
                 }
                 else if (flag == -2)
                 {
                     ShowConnectionError();
                 }
                 else
                 {
                     ShowError();
                 }
             }
             else
             {
                 ShowError();
             }
         }
         else
         {
             ShowError();
         }
     }
     else
     {
         MessageBox.Show("Необходимо ввести пароль и логин.", "", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
 }