using System.Windows;
using System.Windows.Input;
using Livia.Utility.DependencyInjection;
using Livia.ViewModels;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace Livia.Views;
///
/// Interaction logic for SelectSeriesDialog.xaml
///
public partial class SelectSeriesDialog
{
private readonly ILogger _logger;
private readonly SelectSeriesWindowViewModel _viewModel;
public SelectSeriesDialog(string key)
{
_logger = ActivatorUtilities.GetServiceOrCreateInstance(ServiceProviderFactory.ServiceProvider);
_viewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider, key);
DataContext = _viewModel;
_viewModel.OnRequestClose += (_, _) => Close();
InitializeComponent();
}
private void TitleBarMouseLeftButtonDown(object sender, MouseEventArgs e)
{
try
{
DragMove();
}
catch (Exception exception)
{
_logger.LogError(exception, "Error dragging window, sender = {sender}, event = {event}", sender, e);
}
}
private async void ConfirmButtonClick(object sender, RoutedEventArgs e)
{
await _viewModel.SelectSeries();
Close();
}
}