private void OnOk(object sender, RoutedEventArgs e) { var medicineName = MedicineName.Text; var medicineCode = string.IsNullOrEmpty(MedicineCode.Text) ? 0 : long.Parse(MedicineCode.Text); var medicineDate = MedicineDate.SelectedDate ?? MedicineDate.DisplayDate; Medicine medicine = new Medicine(medicineName, medicineDate, medicineCode); medicine.ImagePath = txtEditor.Text; medicine.UserDesc = new TextRange(UsagesByUser.Document.ContentStart, UsagesByUser.Document.ContentEnd).Text; medicine.DangersDesc = new TextRange(DangersByUser.Document.ContentStart, DangersByUser.Document.ContentEnd).Text; List <Medicine> medicines = MainWindow.Dict; Predicate <Medicine> medicineFinder = (Medicine m) => { return(m.Code == medicineCode); }; if (medicines.Exists(medicineFinder)) { MainWindow.UpdateCounter(medicine, _mainWindow); return; } medicines.Add(medicine); RowAdder.AddRow(medicine, _mainWindow, medicines.Count, MainWindow.OnClickCheckBox); }