private void btnAddItem_Click(object sender, EventArgs e) { var group = lstGroups.SelectedItem as Group; if (group == null) { MessageBox.Show("Выберите группу для добавления", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Item item = new Item() { Group = group, CheckDate = DateTime.Now }; var frm = new frmAddItem(item); if (frm.ShowDialog() != DialogResult.OK) { return; } //Проверка на повторение в списке int i = lstItems.FindStringExact(item.FullName); if (i != -1) { MessageBox.Show("Такая запись уже существует", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information); lstItems.SetSelected(i, true); return; } using (var context = new Context()) { try { item.Group = context.Groups.First(x => x.Id == group.Id); context.Items.Add(item); context.SaveChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message + Environment.NewLine + ex.InnerException + Environment.NewLine + ex.StackTrace); } } RefreshItemList(); }
private void btnEditItem_Click(object sender, EventArgs e) { var tmp = lstItems.SelectedItem as Item; if (tmp == null) { MessageBox.Show("Выберите запись для редактирования", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } Item item = new Item(tmp); var frm = new frmAddItem(item); if (frm.ShowDialog() != DialogResult.OK) { return; } int i = lstItems.FindStringExact(item.FullName); if (i != -1) { MessageBox.Show("Такая запись уже существует", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Information); lstItems.SetSelected(i, true); return; } using (var context = new Context()) { var editItem = context.Items.Include("Group").First(x => x.Id == tmp.Id); editItem.CheckDate = item.CheckDate; editItem.Code = item.Code; editItem.IdNum = item.IdNum; editItem.Name = item.Name; try { context.SaveChanges(); } catch (Exception ex) { MessageBox.Show(ex.Message + Environment.NewLine + ex.InnerException + Environment.NewLine + ex.StackTrace); } } RefreshItemList(); }