Beispiel #1
0
        // TODO: Проверить удалиться ли элемент из DataGridView, если удалить его из связаного источника без вызова метода Update на DataGridView
        private void removeMedicamentButton_Click(object sender, EventArgs e)
        {
            Medicament selectedMedicament = medicamentsTable.SelectedRows[0].DataBoundItem as Medicament;
            int        currentRowIndex    = medicamentsTable.SelectedRows[0].Index;

            if (NotificationHelper.ShowQuestion(string.Format("Ви впевнені, що хочете видалити всі данні про медикамент '{0}'", selectedMedicament))
                == System.Windows.Forms.DialogResult.Yes)
            {
                medicamentsList.Remove(selectedMedicament);
                new Task(
                    () =>
                {
                    using (MedicamentRemainsContext mc = new MedicamentRemainsContext())
                    {
                        mc.Medicaments.Attach(selectedMedicament);
                        mc.Medicaments.Remove(selectedMedicament);
                        mc.SaveChanges();
                    }
                }
                    ).Start();
                RecalculateRowsNumbers(currentRowIndex);
            }
        }
        private void removeMeterLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (NotificationHelper.ShowQuestion("Ви впевнені що хочете видалити вказаний елемент?") != System.Windows.Forms.DialogResult.Yes)
            {
                return;
            }

            int    rowIndex     = dataTable.SelectedCells[0].RowIndex;
            int    itemId       = Convert.ToInt32(dataTable.Rows[rowIndex].Cells[0].Value);
            object selectedItem = dataTable.Rows[rowIndex].DataBoundItem;

            lock (lockObject)
            {
                if (itemId > 0)
                {
                    SetDataToDb(new DbRecordChangesTask {
                        DbRecord = selectedItem, ChangesType = DbRecordChangesType.Remove
                    });
                }
            }

            dataTable.Rows.RemoveAt(rowIndex);
            RecalculateRowsNumbers(rowIndex);
        }