private async void OkButton_Click(object sender, RoutedEventArgs e) {
try {
OkButton.IsEnabled = false;
player.Close();
MediaEncoderBusiness business = new MediaEncoderBusiness();
if (ReplaceOption.IsChecked.Value) {
await Task.Run(() => business.FinalizeReplace(jobInfo));
} else if (KeepOption.IsChecked.Value) {
await Task.Run(() => business.FinalizeKeep(jobInfo));
}
if (ReencodeCheckbox.IsChecked.Value) {
MediaEncoderWindow ActiveWindow = SessionCore.Instance.Windows.Current as MediaEncoderWindow;
// If Media Encoder is open, close preview windows and replace preview files.
// Otherwise, open Media Encoder and pre-load preview files.
if (ActiveWindow != null)
ActiveWindow.ClosePreview();
await business.MovePreviewFilesAsync(jobInfo.Settings);
if (ActiveWindow != null) {
// Media Encoder is already open.
ActiveWindow.SetEncodeSettings(jobInfo.Settings);
} else {
// Media Encoder is not open, open it.
SessionCore.Instance.Windows.CloseToMain();
SessionCore.Instance.Menu.CommandBinding_MediaEncoder(null, null);
}
}
business.DeleteJobFiles(jobInfo.Settings);
this.Close();
}
catch (Exception ex) {
OkButton.IsEnabled = true;
MessageBox.Show(this, ex.Message, "File Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}