private async void UpdateEntries() {
Loading.Visibility = Visibility.Visible;
MainContent.Visibility = Visibility.Collapsed;
try {
using (_cancellationTokenSource = new CancellationTokenSource()) {
Entries = (await _installator.GetEntriesAsync(null, _cancellationTokenSource.Token)).Select(x => {
var manager = x.Type.GetManager();
if (manager == null) return null;
var existed = manager.GetObjectById(x.Id);
return new EntryWrapper(x, existed == null);
}).Where(x => x != null).ToArray();
}
} catch (PasswordException e) {
NonfatalError.Notify(AppStrings.AdditionalContent_PasswordIsInvalid, e);
Close();
} catch (Exception e) {
NonfatalError.Notify(AppStrings.AdditionalContent_CannotUnpack, AppStrings.AdditionalContent_CannotUnpack_Commentary, e);
Close();
} finally {
_cancellationTokenSource = null;
}
Loading.Visibility = Visibility.Collapsed;
MainContent.Visibility = Visibility.Visible;
}