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(); } }