public async void DiplayBEntityAsync(Guid synchronizationProfileId, string entityId) { try { var options = GetOptionsOrNull(synchronizationProfileId); if (options == null) { return; } var availableComponents = (await _synchronizerFactory.CreateSynchronizerWithComponents(options, _generalOptionsDataAccess.LoadOptions())).Item2.GetDataAccessComponents(); if (availableComponents.CalDavDataAccess != null) { var entityName = new WebResourceName { Id = entityId, OriginalAbsolutePath = entityId }; var entities = await availableComponents.CalDavDataAccess.GetEntities(new[] { entityName }); DisplayFirstEntityIfAvailable(entities.FirstOrDefault()); } else if (availableComponents.CardDavDataAccess != null || availableComponents.DistListDataAccess != null) { var entityName = new WebResourceName { Id = entityId, OriginalAbsolutePath = entityId }; EntityWithId <WebResourceName, string> entity = null; if (availableComponents.CardDavDataAccess != null) { entity = (await availableComponents.CardDavDataAccess.GetEntities(new[] { entityName })).FirstOrDefault(); } if (entity == null && availableComponents.DistListDataAccess != null) { entity = (await availableComponents.DistListDataAccess.GetEntities(new[] { entityName })).FirstOrDefault(); } DisplayFirstEntityIfAvailable(entity); } else { MessageBox.Show(Strings.Get($"The type of profile '{options.Name}' doesn't provide a way to display server entities.")); } } catch (Exception x) { ExceptionHandler.Instance.DisplayException(x, s_logger); } }