private async void OnCreateCustomerExecute() { try { _customerRepository.AddCustomer(new Model.Customer() { CustomerName = Customer.CustomerName }); await _customerRepository.SaveAsync(); //save customer with id foreach (var item in Departments) { _customerRepository.AddCustomerDepartment(item); } /*foreach (var item in SelectedEquipments) * { * _customerRepository.AddCustomerEquipment(item, Customer.) * }*/ await _customerRepository.SaveAsync(); //Customer = CreateNewCustomer(); MessageBox.Show("Customer was successfully created."); _eventAggregator.GetEvent <AfterComponentCreated>().Publish(); } catch (Exception e) { MessageBox.Show(e.Message, "An error occurred", MessageBoxButton.OK, MessageBoxImage.Warning); //create new error object from the exception and add to DB Error error = new Error { ErrorMessage = e.Message, ErrorTimeStamp = DateTime.Now, ErrorStackTrace = e.StackTrace, LoginId = CurrentUser.LoginId }; await _errorDataService.AddError(error); } }