Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.89 KB | None | 0 0
  1. using Lab5.Properties;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Data.SqlClient;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows.Forms;
  12.  
  13. namespace Lab5 {
  14.     public partial class MainForm : Form {
  15.         public bool AdminRole { get; set; }
  16.         public static int UserId { get; set; }
  17.  
  18.         public void showForm(Form formClass) {
  19.             this.Hide();
  20.             var newForm = formClass;
  21.             newForm.Closed += (s, args) => this.Show();
  22.             newForm.Show();
  23.         }
  24.  
  25.         public MainForm() {
  26.             InitializeComponent();
  27.         }
  28.  
  29.         private void button1_Click(object sender, EventArgs e) {
  30.             string uLogin = textBox1.Text;
  31.             string uPassword = textBox2.Text;
  32.  
  33.             using (SqlConnection sqlConnect = new SqlConnection(Settings.Default.LicenseKeysConnectionString)) { // настройка строки подключени
  34.                 try {
  35.                     sqlConnect.Open(); // открываю подключение
  36.                     SqlCommand getLogin = new SqlCommand("SELECT TOP 1 Login FROM User_tab WHERE Login = '" + uLogin + "'", sqlConnect);
  37.                     if ((string)getLogin.ExecuteScalar() == null) {
  38.                         MessageBox.Show("Нет пользователя с указанным логином.", "Ошибка авторизации");
  39.                     } else {
  40.                         SqlCommand checkPassword = new SqlCommand("SELECT TOP 1 Login FROM User_tab WHERE Login = '" + uLogin + "' AND Password = '" + uPassword + "'", sqlConnect);
  41.                         if ((string)checkPassword.ExecuteScalar() == null) {
  42.                             MessageBox.Show("Неверный пароль.", "Ошибка авторизации");
  43.                         } else {
  44.                             SqlCommand getRole = new SqlCommand("SELECT TOP 1 AdminRole FROM User_tab WHERE Login = '" + uLogin + "' AND Password = '" + uPassword + "'", sqlConnect);
  45.                             SqlCommand getUserId = new SqlCommand("SELECT TOP 1 UserId FROM User_tab WHERE Login = '" + uLogin + "' AND Password = '" + uPassword + "'", sqlConnect);
  46.                             AdminRole = (bool)getRole.ExecuteScalar();
  47.                             UserId = (Int32)getUserId.ExecuteScalar();
  48.  
  49.                             if (AdminRole) {
  50.                                 showForm(new ManagerForm());
  51.                             } else {
  52.                                 showForm(new WorkerForm());
  53.                             }
  54.                         }
  55.                     }
  56.                 } catch (SqlException ex) {
  57.                     MessageBox.Show("Ошибка подключения к БД.", "Ошибка");
  58.                 }    
  59.             }
  60.         }
  61.     }
  62.  
  63.     public abstract class Users {
  64.         protected int UserId;
  65.         protected bool AdminRole;
  66.  
  67.         public string getLogin(int userId) {
  68.             string Login = "";
  69.  
  70.             using (SqlConnection sqlConnect = new SqlConnection(Settings.Default.LicenseKeysConnectionString)) { // настройка строки подключени
  71.                 try {
  72.                     sqlConnect.Open(); // открываю подключение
  73.                     SqlCommand getLogin = new SqlCommand("SELECT TOP 1 Login FROM User_tab WHERE UserId = " + userId, sqlConnect);
  74.                     Login = (string)getLogin.ExecuteScalar();
  75.                 } catch (SqlException ex) {
  76.                     MessageBox.Show("Ошибка подключения к БД.", "Ошибка");
  77.                 }
  78.             }
  79.  
  80.             return Login;
  81.         }
  82.  
  83.         abstract protected string getKey();
  84.     }
  85.  
  86.     public interface IUsers {
  87.         string getLogin(int userId);
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement