/// <summary> /// Вызов формы для добавления изделия /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddProduction_Click(object sender, EventArgs e) { var form = new ProductionForm(); form.ShowDialog(); RefreshGrid(); }
/// <summary> /// Контекстное меню для таблицы /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SalesMouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { ContextMenu m = new ContextMenu(); int currentMouseOverRow = Grid.HitTest(e.X, e.Y).RowIndex; if (currentMouseOverRow >= 0) { m.MenuItems.Add(new MenuItem("Просмотр", new EventHandler(delegate(Object o, EventArgs a) { int id = (int)Grid.Rows[currentMouseOverRow].Cells[0].Value; var form = new ProductionForm(id, Models.EditMode.View); form.ShowDialog(); RefreshGrid(); }))); m.MenuItems.Add(new MenuItem("Редактировать", new EventHandler(delegate(Object o, EventArgs a) { int id = (int)Grid.Rows[currentMouseOverRow].Cells[0].Value; var form = new ProductionForm(id, Models.EditMode.Edit); form.ShowDialog(); RefreshGrid(); }))); m.MenuItems.Add(new MenuItem("Удалить", new EventHandler(delegate(Object o, EventArgs a) { int id = (int)Grid.Rows[currentMouseOverRow].Cells[0].Value; if (MessageBox.Show("Вы точно хотите удалить этот элемент?", "Удалить?", MessageBoxButtons.OKCancel) == DialogResult.OK) { try { var context = new ApplicationDbContext(); //TODO удаление записи по ключу context.Productions.Remove(context.Productions.FirstOrDefault(x => x.Id == id)); context.SaveChanges(); }catch (Exception ex) { MessageBox.Show("Сначала необходимо удалить все связанные данные", "Ошибка"); } } RefreshGrid(); }))); } m.Show(Grid, new Point(e.X, e.Y)); } }