public MainWindow()
        {
            Dictionary <string, IPlaylistObtainer> extensionToObtainer = new Dictionary <string, IPlaylistObtainer>
            {
                { ".csv", new TextFilePlaylistObtainer() },
                { ".xlsx", new ExcelPlaylistObtainer() }
            };
            OpenFileDialog openFileDialog = new OpenFileDialog()
            {
                Filter = "*.xlsx;*.csv|*.xlsx;*.csv", Multiselect = false
            };

            openFileDialog.ShowDialog();
            if (string.IsNullOrEmpty(openFileDialog.FileName))
            {
                App.Current.Shutdown();
            }

            Playlist playlist = extensionToObtainer[Path.GetExtension(openFileDialog.FileName)].GetPlaylist(new ExtensionToTypeConverter(), openFileDialog.FileName);

            if (playlist == null)
            {
                Application.Current.Shutdown(); return;
            }

            InitializeComponent();

            DataContext          = viewModel = new PlaylistViewModel(playlist, new ClipPresenterFactory());
            _control             = new PlaylistControlView(viewModel, viewModel);
            _control.DataContext = this.DataContext;
            _control.Show();
            _control.Closed += control_Closed;
        }
Esempio n. 2
0
        public MainWindow()
        {
            Playlist playlist = new TextFilePlaylistObtainer().GetPlaylist();

            InitializeComponent();

            DataContext         = viewModel = new PlaylistViewModel(playlist);
            control             = new PlaylistControlView(clipView);
            control.DataContext = this.DataContext;
            control.Show();
            control.Closed += control_Closed;
        }