JryVideo.Viewer.VideoViewer.VideoViewerPage.Image_MouseLeftButtonDown C# (CSharp) Method

Image_MouseLeftButtonDown() private method

private Image_MouseLeftButtonDown ( object sender, System e ) : void
sender object
e System
return void
        private async void Image_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            if (e.ClickCount > 1)
            {
                var cover = await this.ViewModel.InfoView.CoverViewModel.GetCoverAsync();
                if (cover == null) return;
                var buffer = cover.BinaryData;
                if (buffer.Length > 0)
                {
                    string path;

                    do
                    {
                        path = Path.ChangeExtension(Path.GetTempFileName(), "jpg");
                    } while (File.Exists(path));

                    using (var file = File.Create(path))
                    {
                        file.Write(buffer);
                    }

                    await Task.Run(() =>
                    {
                        using (var p = Process.Start(path))
                        {
                            p?.WaitForExit();
                        }

                        try
                        {
                            File.Delete(path);
                        }
                        catch
                        {
                            // ignored
                        }
                    });
                }
            }
        }