private void OnNewContactAdded(object sender, ContactEventArgs e) { //************************************************************************************************************************************ // On New contact added in Call History and Chat. //************************************************************************************************************************************ if (ServiceManager.Instance.Dispatcher.Thread != System.Threading.Thread.CurrentThread) { ServiceManager.Instance.Dispatcher.BeginInvoke((Action)(() => this.OnNewContactAdded(sender, e))); return; } // search and update all items var contact = _contactService.FindContact(new ContactID(e.Contact)); if (contact != null && contact.IsLinphoneContact) { lock (this.Calls) { foreach (var call in Calls) { if (call.CallEvent.RemoteParty.TrimSipPrefix() == contact.ID) { call.UpdateContact(contact); call.AllowAddContact = false; } } } CallsListView.Refresh(); } }
private void ContactAdded(object sender, ContactEventArgs e) { //************************************************************************************************************************************ // Contact added in Contact History and Chat window. //************************************************************************************************************************************ if (ServiceManager.Instance.Dispatcher.Thread != System.Threading.Thread.CurrentThread) { ServiceManager.Instance.Dispatcher.BeginInvoke((Action)(() => this.ContactAdded(sender, e))); return; } var contact = _contactsService.FindContact(e.Contact); if (contact != null) { AddContact(contact, true); } }
private void OnLoggedContactUpdated(object sender, ContactEventArgs e) { //**************************************************************************************** // Updating info of Logged in contact which was login in this application //***************************************************************************************** if (ServiceManager.Instance.Dispatcher.Thread != Thread.CurrentThread) { ServiceManager.Instance.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new EventHandler <ContactEventArgs>(OnChatContactAdded), sender, new object[] { e }); return; } if (_loggedInContactViewModel == null || _loggedInContactViewModel.Contact != e.Contact) { var loggedInContact = _contactsManager.FindContact(e.Contact); if (loggedInContact != null) { _loggedInContactViewModel = new ContactViewModel(loggedInContact); } } }