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; namespace hospital { public partial class insertDrug : Form { SqlConnection sqlConnection = null; public insertDrug() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { bool checkTB = false, checkNUD = false; foreach (TextBox textBox in this.Controls.OfType()) { if (String.IsNullOrEmpty(textBox.Text) && textBox.Visible == true) { checkTB = true; break; } } foreach (NumericUpDown numericUpDown in this.Controls.OfType()) { if(numericUpDown.Value == numericUpDown.Minimum) { checkNUD = true; break; } } if (!checkTB && !checkNUD) { SqlCommand a = new SqlCommand($"select count(*) from drugs where name_drugs like N'{drugNameTB.Text}'", sqlConnection); Array.Resize(ref auth.data, 2); auth.data[0] = $"Лекарство: {drugNameTB.Text}"; auth.data[1] = $"Стоимость: {priceNUD.Value}"; a = new SqlCommand($"select name_drugs from drugs", sqlConnection); SqlDataReader reader = a.ExecuteReader(); string[] xd = new string[0]; int i = 0; while (reader.Read()) { Array.Resize(ref xd, xd.Length + 1); xd[i] = reader.GetString(0); i++; } bool check = false; for (int j = 0; j < xd.Length; j++) { if (drugNameTB.Text.Equals(xd[j])) { check = true; break; } } reader.Close(); if (!check) { a = new SqlCommand($"insert into drugs (name_drugs, price_drugs) values (@name_drugs, @price_drugs)", sqlConnection); a.Parameters.AddWithValue("name_drugs", drugNameTB.Text); a.Parameters.AddWithValue("price_drugs", priceNUD.Value); if (a.ExecuteNonQuery() == 1) { MessageBox.Show("Добавление данных произошло успешно", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information); debugAndTrace.writeInFile("Добавление лекарства", auth.data); debugAndTrace.writeInFile("Переход на главную форму"); this.Close(); } else { MessageBox.Show("Произошла ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); debugAndTrace.writeInFile("Ошибка добавления лекарства", auth.data); } } else { MessageBox.Show("Такое лекарство уже добавлено", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); debugAndTrace.writeInFile("Такое лекарство уже добавлено", auth.data); } } else { MessageBox.Show("Заполнены не все поля", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); debugAndTrace.writeInFile("Error, заполнены не все поля"); } } catch { MessageBox.Show("Произошла непредвиденная ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); debugAndTrace.writeInFile("ERROR"); } } private void insertDrug_Load(object sender, EventArgs e) { FormCreating.openConnection(ref sqlConnection); } private void backBTN_Click(object sender, EventArgs e) { try { var res = MessageBox.Show("Уверены, что хотите отменить добавление лекарства?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (res == DialogResult.Yes) { debugAndTrace.writeInFile("Отмена добавления лекарства"); this.Close(); } else { MessageBox.Show("Действие отменено", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch { MessageBox.Show("Произошла непредвиденная ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); debugAndTrace.writeInFile("ERROR"); } } } }