ArcGISPortalViewer.ViewModel.FavoritesViewModel.Initialize C# (CSharp) Method

Initialize() private method

private Initialize ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        private async Task Initialize()
        {
            if (FavoritesService.CurrentFavoritesService.Favorites == null)
            {
                if (await FavoritesService.CurrentFavoritesService.SetFavoritesCollection())
                    Items = FavoritesService.CurrentFavoritesService.Favorites;
            }

            Messenger.Default.Register<AddItemToFavoritesMessage>(this, msg =>
            {
                try
                {
                    FavoritesService.CurrentFavoritesService.AddToFavorites(msg.Item);
                    Items = FavoritesService.CurrentFavoritesService.Favorites;
                    RaisePropertyChanged(() => IsSelectedItemInFavorites);
                }
                catch (Exception ex)
                {
                    var _ = App.ShowExceptionDialog(ex);
                }
            });


            Messenger.Default.Register<RemoveItemFromFavoritesMessage>(this, msg =>
            {
                try
                {
                    FavoritesService.CurrentFavoritesService.RemoveFromFavorites(msg.Item);
                    Items = FavoritesService.CurrentFavoritesService.Favorites;
                    RaisePropertyChanged(() => IsSelectedItemInFavorites);
                }
                catch (Exception ex)
                {
                    var _ = App.ShowExceptionDialog(ex);
                }
            });

            // reset Favorites when signing in
            Messenger.Default.Register<ChangeSignInMessage>(this, msg => { FavoritesService.CurrentFavoritesService.Favorites = null; });
            
            // reset Favorites when signing out
            Messenger.Default.Register<ChangeSignOutMessage>(this, msg => { FavoritesService.CurrentFavoritesService.Favorites = null; });
        }
    }