public void EditAccount(Account account, string accountName) { context.Accounts.Local.ElementAt(context.Accounts.Local.IndexOf(account)).Name = accountName; context.SaveChanges(); IncomeManager incomeManager = new IncomeManager(); ExpenseManager expenseManager = new ExpenseManager(); TransferManager transferManager = new TransferManager(); foreach (var income in incomeManager.Context.Operations.Local) { if (income.AccountToPutId == context.Accounts.Local.ElementAt(context.Accounts.Local.IndexOf(account)).Id) { incomeManager.Context.Entry(income).Reference(op => op.AccountToPut).Load(); incomeManager.Context.Operations.Local.ElementAt(incomeManager.Context.Operations.Local.IndexOf(income)) .OnPropertyChanged("AccountToPutToString"); } } incomeManager.Context.SaveChanges(); }
private void SaveChangesButton_Click(object sender, RoutedEventArgs e) { IOperationManager operationManager; switch (operationType) { case "income": operationManager = new IncomeManager(); break; case "expense": operationManager = new ExpenseManager(); break; case "transfer": operationManager = new TransferManager(); break; default: throw new Exception(); } switch (actionType) { case "add": operationManager.AddOperation(int.Parse(textBoxSum.Text), DateTime.Parse(datePickerDate.SelectedDate.ToString()), (Account)comboBoxAccountToPut.SelectedItem, (Account)comboBoxAccountToWithDraw.SelectedItem, (Currency)comboBoxCurrency.SelectedItem, (Category)comboBoxCategory.SelectedItem, textBoxComment.Text); break; case "edit": operationManager.EditOperation(selectedOperation, int.Parse(textBoxSum.Text), DateTime.Parse(datePickerDate.SelectedDate.ToString()), (Account)comboBoxAccountToPut.SelectedItem, (Account)comboBoxAccountToWithDraw.SelectedItem, (Currency)comboBoxCurrency.SelectedItem, (Category)comboBoxCategory.SelectedItem, textBoxComment.Text); break; } DialogResult = true; }