private void DoCopyOutputURLAssetOrProgramToClipboard()
        {
            IAsset asset = ReturnSelectedAssetsFromProgramsOrAssets().FirstOrDefault();
            if (asset != null)
            {
                AssetInfo AI = new AssetInfo(asset);
                IEnumerable<Uri> ValidURIs = AI.GetValidURIs();
                if (ValidURIs != null && ValidURIs.FirstOrDefault() != null)
                {
                    string url = ValidURIs.FirstOrDefault().AbsoluteUri;

                    if (_context.StreamingEndpoints.Count() > 1 || (_context.StreamingEndpoints.FirstOrDefault() != null && _context.StreamingEndpoints.FirstOrDefault().CustomHostNames.Count > 0) || _context.Filters.Count() > 0 || (asset.AssetFilters.Count() > 0))
                    {
                        var form = new ChooseStreamingEndpoint(_context, asset, url);
                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            url = AssetInfo.RW(new Uri(url), form.SelectStreamingEndpoint, form.SelectedFilters, form.ReturnHttps, form.ReturnSelectCustomHostName, form.ReturnStreamingProtocol, form.ReturnHLSAudioTrackName, form.ReturnHLSNoAudioOnlyMode).ToString();
                        }
                        else
                        {
                            return;
                        }
                    }
                    var tokenDisplayForm = new EditorXMLJSON("Output URL", url, false, false, false);
                    tokenDisplayForm.Display();
                }
                else
                {
                    MessageBox.Show(string.Format("No valid URL is available for asset '{0}'.", asset.Name), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
 private void DoCopyOutputURLAssetOrProgramToClipboard()
 {
     IAsset asset = ReturnSelectedAssetsFromProgramsOrAssets().FirstOrDefault();
     if (asset != null)
     {
         AssetInfo AI = new AssetInfo(asset);
         IEnumerable<Uri> ValidURIs = AI.GetValidURIs();
         if (ValidURIs != null && ValidURIs.FirstOrDefault() != null)
         {
             string url = ValidURIs.FirstOrDefault().AbsoluteUri;
             System.Windows.Forms.Clipboard.SetText(url);
         }
         else
         {
             MessageBox.Show(string.Format("No valid URL is available for asset '{0}'.", asset.Name), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         }
     }
 }
        private void DoCopyOutputURLAssetOrProgramToClipboard()
        {
            IAsset asset = ReturnSelectedAssetsFromProgramsOrAssets().FirstOrDefault();
            if (asset != null)
            {
                AssetInfo AI = new AssetInfo(asset);
                IEnumerable<Uri> ValidURIs = AI.GetValidURIs();
                if (ValidURIs != null && ValidURIs.FirstOrDefault() != null)
                {
                    string url = ValidURIs.FirstOrDefault().AbsoluteUri;

                    if (_context.StreamingEndpoints.Count() > 1 || (_context.StreamingEndpoints.FirstOrDefault() != null && _context.StreamingEndpoints.FirstOrDefault().CustomHostNames.Count > 0) || _context.Filters.Count() > 0 || (asset.AssetFilters.Count() > 0))
                    {
                        var form = new ChooseStreamingEndpoint(_context, asset, url);
                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            url = AssetInfo.RW(new Uri(url), form.SelectStreamingEndpoint, form.SelectedFilters, form.ReturnHttps, form.ReturnSelectCustomHostName, form.ReturnStreamingProtocol, form.ReturnHLSAudioTrackName, form.ReturnHLSNoAudioOnlyMode).ToString();
                        }
                        else
                        {
                            return;
                        }
                    }
                    System.Windows.Forms.Clipboard.SetText(url);
                    TextBoxLogWriteLine("The following URL has been copied to the clipboard :");
                    TextBoxLogWriteLine("<" + url + ">");
                }
                else
                {
                    MessageBox.Show(string.Format("No valid URL is available for asset '{0}'.", asset.Name), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
 private void DoCopyOutputURLAssetOrProgramToClipboard()
 {
     IAsset asset = ReturnSelectedAssetsFromProgramsOrAssets().FirstOrDefault();
     if (asset != null)
     {
         AssetInfo AI = new AssetInfo(asset);
         IEnumerable<Uri> ValidURIs = AI.GetValidURIs();
         if (ValidURIs.FirstOrDefault() != null)
         {
             string url = ValidURIs.FirstOrDefault().AbsoluteUri;
             /*
             if (selectedGlobalFilter != null)
             {
                 url = AssetInfo.AddFilterToUrlString(url, selectedGlobalFilter);
             }
             */
             System.Windows.Forms.Clipboard.SetText(url);
         }
     }
 }
 public static Uri GetValidOnDemandURI(IAsset asset)
 {
     var ai = new AssetInfo(asset);
     return ai.GetValidURIs().FirstOrDefault();
 }