예제 #1
0
        private void registracia_Click(object sender, EventArgs e)
        {
            if (last_name.Text == "" || name.Text == "" || dad_name.Text == "" || login.Text == "" || pass.Text == "" || email.Text == "" || phone.Text == "")
            {
                MessageBox.Show("Вы заполнили не все поля, нажмите ОК, чтобы продолжить", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                con.Open();
                DataTable tb = new DataTable();
                SqlDataAdapter ad = new SqlDataAdapter();
                command = new SqlCommand("select id from users where login='******'",con);
                ad.SelectCommand = command;
                ad.Fill(tb);
                if (tb.Rows.Count>0)
                {
                    MessageBox.Show("Пользователь с таким логином уже существует,\nпожалуйста,придумайте другой логин","Уведомление", MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
                    login.Clear();
                    con.Close();
                }
                else
                {
                    SHA256_pwd toAes = new SHA256_pwd();
                    string ecnrypted_password = toAes.SHA256HexHashString(pass.Text);
                   
                    command.Dispose();
                    command = new SqlCommand("users_insert", con);
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.Add(new SqlParameter("@last_name", SqlDbType.NChar));
                    command.Parameters["@last_name"].Value = last_name.Text;
                    command.Parameters.Add(new SqlParameter("@name", SqlDbType.NChar));
                    command.Parameters["@name"].Value = name.Text;
                    command.Parameters.Add(new SqlParameter("@dad_name", SqlDbType.NChar));
                    command.Parameters["@dad_name"].Value = dad_name.Text;
                    command.Parameters.Add(new SqlParameter("@login", SqlDbType.NChar));
                    command.Parameters["@login"].Value = login.Text;
                    command.Parameters.Add(new SqlParameter("@pass", SqlDbType.NVarChar));
                    command.Parameters["@pass"].Value = ecnrypted_password;
                    command.Parameters.Add(new SqlParameter("@email", SqlDbType.NChar));
                    command.Parameters["@email"].Value = email.Text;
                    command.Parameters.Add(new SqlParameter("@phone", SqlDbType.NChar));
                    command.Parameters["@phone"].Value = phone.Text;
                    command.Parameters.Add(new SqlParameter("@birth", SqlDbType.Date));
                    command.Parameters["@birth"].Value = birth.Text;

                    if (command.ExecuteNonQuery() ==1)
                    {
                        MessageBox.Show("Пользователь успешно добавлен!", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Ошибочка!");
                    }
                    con.Close();
                }
                
                
            }
        }
예제 #2
0
        private void autouser_Click(object sender, EventArgs e)
        {
            SHA256_pwd shifr = new SHA256_pwd();

            //если не заполнено одно из полей ввода
            if (textBox1.Text == "" || textBox2.Text == "")
            {
                MessageBox.Show("Вы заполнили не все поля,\n" +
                                "нажмите ОК, чтобы продолжить", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                con.Open();//открытие подключения
                //установление выражения которое будет выполняться
                cmd = new SqlCommand("select login, password from dbo.users where login='******' and password='******';", con);
                //выполняет sql-выражение и возвращает строки из таблицы
                SqlDataReader reader = cmd.ExecuteReader();
                string        login  = "";
                if (reader.HasRows)       //если вернул строки
                {
                    while (reader.Read()) // построчно считываем данные
                    {
                        textBox1.Focus();
                        login = reader.GetString(0);//получаем в переменную login
                        login = login.Trim(' ');
                    }
                    reader.Close(); //закрытие
                    cmd.Dispose();  //сброс ресурсов
                }
                else
                {
                    MessageBox.Show("Неправильный логин или пароль,\n" +
                                    "пожалуйста,повторите попытку ",
                                    "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    textBox1.Clear();
                    textBox2.Clear();
                    textBox1_Enter(sender, EventArgs.Empty);
                    textBox2_Enter(sender, EventArgs.Empty);
                    textBox1_Leave(sender, EventArgs.Empty);
                    textBox2_Leave(sender, EventArgs.Empty);
                }
                con.Close();//закрытие подключения

                con.Open();
                //для получения роли
                cmd  = new SqlCommand("select role from dbo.users where login='******'", con);
                role = Convert.ToInt32(cmd.ExecuteScalar());
                con.Close();

                switch (role)
                {
                case 1:    //если роль =1 открытие формы для клиента
                    Form4 form4 = new Form4(login);
                    form4.Show();
                    this.Hide();
                    break;

                case 2:    //роль =2 открывается форма сотрудника
                    Form3 form3 = new Form3(login);
                    form3.Show();
                    this.Hide();
                    break;

                case 3:    //роль =3 открывается форма администратора
                    Form2 form2 = new Form2(login);
                    form2.Show();
                    this.Hide();
                    break;
                }
            }
        }