private void saveTransaction(object sender, EventArgs e) { var amount = decimal.ToDouble(amountNumericUpDown.Value); var categoryId = int.Parse(categoriesComboBox.SelectedValue.ToString()); var contactId = int.Parse(contactsComboBox.SelectedValue.ToString()); var date = datePicker.Value; if (amount == 0) { MessageBox.Show( "Please add an amount", "Missing field", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (categoryId == 0) { MessageBox.Show( "Please select a category", "Missing field", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (isUpdating) { using (DataBase.DBContainer db = new DataBase.DBContainer()) { var transaction = (from Transactions in db.Transactions where Transactions.Id == updatingTransaction.Id select Transactions).FirstOrDefault(); var selectedContact = (from Contacts in db.Contacts where Contacts.Id == contactId select Contacts).FirstOrDefault(); var selectedCategory = (from Categories in db.Categories where Categories.Id == categoryId select Categories).FirstOrDefault(); if (transaction != null) { transaction.Amount = amount; transaction.Category = selectedCategory; transaction.Contact = selectedContact; transaction.DateTime = date; transaction.TransactionType = selectedTransactionType.ToString(); } db.SaveChanges(); } this.Close(); } else { using (DataBase.DBContainer db = new DataBase.DBContainer()) { var selectedContact = (from Contacts in db.Contacts where Contacts.Id == contactId select Contacts).FirstOrDefault(); var selectedCategory = (from Categories in db.Categories where Categories.Id == categoryId select Categories).FirstOrDefault(); DataBase.Transaction transaction = new DataBase.Transaction { Amount = amount, Category = selectedCategory, DateTime = date, Contact = selectedContact, TransactionType = selectedTransactionType.ToString() }; db.Transactions.Add(transaction); db.SaveChanges(); } this.Close(); } }