private void DataBoard_DeleteEntity(object sender, EventArgs e) { switch (((EntityArgs)e).Entity) { case StudentView studentView: { var studentToDelete = EFGenericRepository.Find <Student>(studentView.Id); EFGenericRepository.Delete(studentToDelete); break; } case GroupView groupView: { var deleteDialog = new DeleteDialog(); if (deleteDialog.ShowDialog() == DialogResult.OK) { var retiringGroup = EFGenericRepository.Find <Group>(groupView.Id); if (deleteDialog.IsDeleteMembers) { EFGenericRepository.DeleteRange(retiringGroup.Students); } EFGenericRepository.Delete(retiringGroup); } break; } } }