//добавление новых атрибутов сразу в бд private void AddAttribute_Click(object sender, EventArgs e) { //Проверка корректности заполнения информационных полей if (AtNameTextBox.TextLength == 0 || TypeComboBox.Text == "" || TypeAttribute.Text == "") { MessageBox.Show("Нельзя добавить атрибут. Пожалуйста, введите его название, описание (необязательно), тип данных и тип атрибута.", "Ошибка!"); } else { bool flag = false; foreach (Attribute at in cont.AttributeSet) { if (at.Entity.Name == comboBoxChangeEntity.Text) { if (at.Name == AtNameTextBox.Text) { flag = true; } } } if (flag == true) { MessageBox.Show("Данная сущность уже имеет атрибут с таким именем. Пожалуйста, придумайте другое название.", "Ошибка!"); AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; TypeAttribute.Text = ""; } else //Добавление нового { Attribute at = new Attribute(); at.Name = AtNameTextBox.Text; at.Description = textBoxDescriptio.Text; at.Type = TypeComboBox.Text; at.Specification = TypeAttribute.Text; ent.Attributes.Add(at); cont.SaveChanges(); int k = 0; foreach (Attribute at1 in ent.Attributes) { if (at1.Entity == ent) { dataGVChange.Rows.Add(); dataGVChange.Rows[k].Cells[0].Value = at1.Name; dataGVChange.Rows[k].Cells[1].Value = at1.Description; dataGVChange.Rows[k].Cells[2].Value = at1.Type; dataGVChange.Rows[k].Cells[3].Value = at1.Specification; k++; } } } AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; TypeAttribute.Text = ""; } }
//удаление атрибутов сразу из бд private void DeleteAttribute_Click(object sender, EventArgs e) { AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; if (dataGVChange.SelectedRows.Count > 0) { if (MessageBox.Show("Вы действительно хотите удалить атрибут?", "", MessageBoxButtons.YesNo) == DialogResult.Yes) { int ind = dataGVChange.SelectedCells[0].RowIndex; string del = dataGVChange.Rows[ind].Cells[0].Value.ToString(); foreach (Attribute a in ent.Attributes) { if (a.Name == del) { a1 = a; break; } } //Удаление значений атрибутов foreach (AttributeValue atv in cont.AttributeValueSet) { if (atv.Attribute == a1) { cont.AttributeValueSet.Remove(atv); } } //Удаление атрибута cont.AttributeSet.Remove(a1); cont.SaveChanges(); int k = 0; foreach (Attribute at1 in ent.Attributes) { if (at1.Entity == ent) { dataGVChange.Rows.Add(); dataGVChange.Rows[k].Cells[0].Value = at1.Name; dataGVChange.Rows[k].Cells[1].Value = at1.Description; dataGVChange.Rows[k].Cells[2].Value = at1.Type; dataGVChange.Rows[k].Cells[3].Value = at1.Specification; k++; } } } } else { MessageBox.Show("Для удаления тура выберите тур из списка", "Ошибка!"); } }
private void butChange_1_Click(object sender, EventArgs e) { //Проверка корректности заполнения информационных полей if (AtNameTextBox.TextLength == 0 || TypeComboBox.Text == "" || TypeAttribute.Text == "") { MessageBox.Show("Нельзя изменить атрибут. Пожалуйста, введите его название, описание (необязательно), тип данных и тип атрибута.", "Ошибка!"); } else { bool flag = false; foreach (Attribute at in cont.AttributeSet) { if (at.Entity.Name == comboBoxChangeEntity.Text) { if (at.Name == AtNameTextBox.Text && at.Id != change_at.Id) { flag = true; } } } if (flag == true) { MessageBox.Show("Данная сущность уже имеет атрибут с таким именем. Пожалуйста, придумайте другое название.", "Ошибка!"); } else //Добавление измененного { //Добавление изменненного атрибута в массив change_at.Name = AtNameTextBox.Text; change_at.Description = textBoxDescriptio.Text; change_at.Type = TypeComboBox.Text; change_at.Specification = TypeAttribute.Text; cont.SaveChanges(); dataGVChange.Rows.Add(change_at.Name, change_at.Description, change_at.Type, change_at.Specification); AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; TypeAttribute.Text = ""; AddAttribute.Enabled = true; DeleteAttribute.Enabled = true; butChange_1.Enabled = false; ChangeAttr.Enabled = true; CancelButton.Enabled = true; } } }
private void AddAttribute_Click(object sender, EventArgs e) { //добавление атрибутов к сущности if (AtNameTextBox.TextLength == 0 || TypeComboBox.Text == "" || TypeAttribute.Text == "") //проверка введенных значений для названия, типа данных и спецификации { //данные введены некорректно или неправильно MessageBox.Show("Нельзя добавить атрибут. Пожалуйста, введите его название, описание (необязательно), тип данных и тип атрибута.", "Ошибка!"); AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; TypeAttribute.Text = ""; } else { //все верно bool flag = false; foreach (Attribute at in cont.AttributeSet) //обход атрибутов { if (at.Entity.Name == comboBox1.Text) { if (at.Name == AtNameTextBox.Text) //проверка названий текущих атрибутов { flag = true; } } } if (flag == true) //атрибут с таким названием уже есть { MessageBox.Show("Данная сущность уже имеет атрибут с таким именем. Пожалуйста, придумайте другое название.", "Ошибка!"); AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; TypeAttribute.Text = ""; } else { //таких атрибутов нет string name = AtNameTextBox.Text; string descr = textBoxDescriptio.Text; string type = TypeComboBox.Text; string typeAt = TypeAttribute.Text; dataGridViewATT.Rows.Add(name, descr, type, typeAt); //перенос данных в таблицу атрибутов AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; TypeAttribute.Text = ""; } } }
//удаление атрибутов из таблицы атрибутов private void DeleteAttribute_Click(object sender, EventArgs e) { AtNameTextBox.Clear(); textBoxDescriptio.Clear(); TypeComboBox.Text = ""; try { int ind = dataGridViewATT.SelectedCells[0].RowIndex; //Индекс строки dataGridViewATT.Rows.RemoveAt(ind); for (int k = 0; k < dataGridViewATT.Rows.Count; k++) //Проверка заполнения данной строки { dataGridViewATT.Rows[k].HeaderCell.Value = (k + 1).ToString(); } } catch { MessageBox.Show("Нельзя удалить строку."); //Если строка пуста } }