using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using System.IO; // для работы с файлами namespace СУБД_Агентство { public partial class FormAddPredlozhenie : Form { public FormAddPredlozhenie() { InitializeComponent(); } // список id подходящих риелтеров List lstIdRielter = new List(); private void FormAddPredlozhenie_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'dbAgentstvoDataSet1.Users' table. You can move, or remove it, as needed. this.usersTableAdapter.Fill(this.dbAgentstvoDataSet1.Users); // максимальное количество одновременно обслуживаемых клиентов int maxklient = 5; try { // открыть файл для чтения StreamReader sr = new StreamReader("data.txt"); // прочитать из файла максимальное количество обслуживаемых клиентов maxklient = Convert.ToInt32(sr.ReadLine()); sr.Close(); // закрыть файл } catch { } // создать объект для подключения к базе данных SqlConnection con = new SqlConnection(Form1.txtcon); con.Open(); // открыть подключение к базе данных string txtsql = @" select idusers, fam + ' ' + name as fio from Users as u where type = 0 and ((select COUNT(idrielter) from Potrebnost where idrielter = u.idusers and zaversheno = 'False') + (select COUNT(idrielter) from predlozhenie where idrielter = u.idusers and zaversheno = 'False')) < " + maxklient; // SQL-запрос SqlCommand query1 = new SqlCommand(txtsql, con); // выполнить SQL-запрос и сохранить результат SqlDataReader rez = query1.ExecuteReader(); // есть ли строки в результате запроса if (rez.HasRows) while(rez.Read()) // прочитать очередную строку из результата запроса { // добавить в ComboBox fio очередного риелтера cbxRielter.Items.Add(rez["fio"]); // добавить в список id очередного риелтера lstIdRielter.Add((int)rez["idusers"]); } con.Close(); // закрыть подключение к базе данных } private void btnAdd_Click(object sender, EventArgs e) { // создать объект для подключения к базе данных SqlConnection con = new SqlConnection(Form1.txtcon); con.Open(); // открыть подключение к базе данных string txtsql = String.Format(@"insert into predlozhenie (idklient, idrielter, adres, plosh, etazh, komnat, cena, zaversheno) values ({0}, {1}, @adres, @plosh, @etazh, @komnat, @cena, 'False')", lblIdKlient.Text, lstIdRielter[cbxRielter.SelectedIndex]); // SQL-запрос SqlCommand query1 = new SqlCommand(txtsql, con); // добавить к запросу параметры query1.Parameters.AddWithValue("@adres", tbxAdres.Text); query1.Parameters.AddWithValue("@plosh", tbxPlosh.Text); query1.Parameters.AddWithValue("@etazh", tbxEtag.Text); query1.Parameters.AddWithValue("@komnat", tbxKomnat.Text); query1.Parameters.AddWithValue("@cena", tbxCena.Text); // выполнить запрос без возврата выбранных данных query1.ExecuteNonQuery(); con.Close(); // закрыть подключение к базе данных MessageBox.Show("Предложение клиента успешно добавлено."); } } }