private void LoadReceiverOptions()
        {
            // open the JSON file containing the list of receivers and NuGets
            Stream templateStream = Assembly.GetAssembly(typeof(GeneratedCodeHelper))
                                    .GetManifestResourceStream(
                "AspNet.WebHooks.ConnectedService.Content.WebHooksConnectedServiceConfig.json"
                );

            StreamReader rdr = //new StreamReader(@"Content\WebHooksConnectedServiceConfig.json");
                               new StreamReader(templateStream);

            ExtensionConfiguration json = new JsonSerializer().Deserialize <ExtensionConfiguration>(new JsonTextReader(rdr));

            foreach (var item in json.AvailableReceivers)
            {
                if (string.IsNullOrEmpty(item.NuGetVersionOverride))
                {
                    item.NuGetVersionOverride = json.DefaultNugetVersion;
                }

                WebHookReceiverOptions.Add(item);
            }

            var tmp = WebHookReceiverOptions.OrderBy(x => x.Name).ToList();

            WebHookReceiverOptions.Clear();
            tmp.ForEach(x => WebHookReceiverOptions.Add(x));
        }
        public override Task OnPageEnteringAsync(WizardEnteringArgs args)
        {
            base.Wizard.IsNextEnabled      = WebHookReceiverOptions.Any(x => x.IsChecked == true);
            base.Wizard.Pages[1].IsEnabled = WebHookReceiverOptions.Any(x => x.IsChecked == true);

            TelemetryWrapper.StartPageView("Select Receivers");

            return(base.OnPageEnteringAsync(args));
        }
        private void WebHookOption_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.Wizard.IsNextEnabled      = WebHookReceiverOptions.Any(x => x.IsChecked == true);
            base.Wizard.Pages[1].IsEnabled = WebHookReceiverOptions.Any(x => x.IsChecked == true);

            if (!Instance.Metadata.Any(x => x.Key == Constants.MetadataKeyForStoringSelectedReceivers))
            {
                Instance.Metadata.Add(Constants.MetadataKeyForStoringSelectedReceivers, string.Empty);
            }

            var selected = WebHookReceiverOptions.Where(x => x.IsChecked == true).ToList();

            Instance.Metadata[Constants.MetadataKeyForStoringSelectedReceivers] = selected;
        }