private void button11_Click(object sender, System.EventArgs e)
 {
     List<Attack> attacks = new List<Attack>();
     foreach (Attack attack in attacksListBox.SelectedItems)
     {
         attacks.Add(attack);
     }
     Sign sign = new Sign()
     {
         SingText =  singTextBox.Text,
     };
     if (signPicture.Image == null)
     {
         sign.SignImage = null;
     }
     else
     {
         ImageConverter converter = new ImageConverter();
         sign.SignImage =  (byte[])converter.ConvertTo(signPicture.Image, typeof(byte[]));
     }
     _baseWorker.AddNewSign(sign, attacks);
     RefreshSigns();
 }
        public List<Attack> Attacks(Sign sign)
        {
            List<Attack> attacks = new List<Attack>();

            using (SqlCommand sqlCommand = new SqlCommand(AttackFromSign, _sqlConnection))
            {
                sqlCommand.Parameters.AddWithValue("@id", sign.Id);
                using (SqlDataReader sqlDataReader = sqlCommand.ExecuteReader())
                {
                    while (sqlDataReader.Read())
                    {
                        attacks.Add(new Attack()
                        {
                            Id = int.Parse(sqlDataReader["Id"].ToString()),
                            AttackName = sqlDataReader["Attack_Name"].ToString(),
                            AttackClass = int.Parse(sqlDataReader["Attack_Class"].ToString())
                        });
                    }
                }
            }

            return attacks;
        }
        public void DeleteSign(Sign sign)
        {
            using (SqlCommand sqlCommand = new SqlCommand(RemoveSign, _sqlConnection))
            {
                sqlCommand.Parameters.AddWithValue("@signId", sign.Id);

                if (sqlCommand.ExecuteNonQuery() > 0)
                {
                    MessageBox.Show("Признак удален");
                }
                else
                {
                    MessageBox.Show("Ошибка при удалении");
                }
            }
        }
        public void AddNewSign(Sign sign, List<Attack> attacks)
        {
            using (SqlCommand sqlCommand = new SqlCommand(InsertSign, _sqlConnection))
            {
                sqlCommand.Parameters.AddWithValue("@signText", sign.SingText);
                if (sign.SignImage != null)
                {
                    sqlCommand.Parameters.AddWithValue("@signImage", sign.SignImage);
                }
                else
                {
                    sqlCommand.Parameters.AddWithValue("@signImage", new byte[0]);
                }

                if (sqlCommand.ExecuteNonQuery() > 0)
                {
                    foreach (Attack attack in attacks)
                    {
                        using (SqlCommand command = new SqlCommand(InsertAttackSign, _sqlConnection))
                        {

                            command.Parameters.AddWithValue("@attackId", attack.Id);
                            command.ExecuteNonQuery();
                        }
                    }
                    //           MessageBox.Show("Добвленно");
                }
                else
                {
                    MessageBox.Show("Ошибка при добавлении");
                }
            }
        }