Files
YouTubeViewers/YouTubeViewers.WPF/Commands/LoadYouTubeViewersCommand.cs

42 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YouTubeViewers.WPF.Stores;
using YouTubeViewers.WPF.ViewModels;
namespace YouTubeViewers.WPF.Commands
{
public class LoadYouTubeViewersCommand : AsyncCommandBase
{
private readonly YouTubeViewersViewModel _youTubeViewersViewModel;
private readonly YouTubeViewersStore _youTubeViewersStore;
public LoadYouTubeViewersCommand(YouTubeViewersViewModel youTubeViewersViewModel, YouTubeViewersStore youTubeViewersStore)
{
_youTubeViewersViewModel = youTubeViewersViewModel;
_youTubeViewersStore = youTubeViewersStore;
}
public override async Task ExecuteAsync(object? parameter)
{
_youTubeViewersViewModel.ErrorMessage = null;
_youTubeViewersViewModel.IsLoading = true;
try
{
await _youTubeViewersStore.Load();
}
catch (Exception)
{
_youTubeViewersViewModel.ErrorMessage = "Failed to load YouTube viewers. Please restart the application.";
}
finally
{
_youTubeViewersViewModel.IsLoading = false;
}
}
}
}