コード例 #1
0
    public void ProxyTest()
    {
        var proxyTester = new ProxyTester(new CredentialStore());

        Assert.IsTrue(proxyTester.TestCredentials(CredentialCache.DefaultCredentials));
        Assert.IsTrue(proxyTester.TestCredentials(CredentialCache.DefaultNetworkCredentials));
    }
コード例 #2
0
    static ProxySettingsView CreateDialog()
    {
        var credentialStore = new CredentialStore();
        var proxyTester     = new ProxyTester(credentialStore);

        return(new ProxySettingsView(proxyTester, credentialStore)
        {
            Owner = ShellView.CurrentInstance
        });
    }
コード例 #3
0
 public ShellViewModel(IEventAggregator eventAggregator, LicenseAgreement licenseAgreement, ILifetimeScope lifetimeScope, RaygunClient raygunClient, Installer installer, ProxyTester proxyTester, RuntimeUpgradeManager runtimeUpgradeManager, CredentialStore credentialStore)
 {
     DisplayName = "Platform Installer";
     this.runtimeUpgradeManager = runtimeUpgradeManager;
     this.raygunClient          = raygunClient;
     this.installer             = installer;
     this.licenseAgreement      = licenseAgreement;
     this.lifetimeScope         = lifetimeScope;
     this.eventAggregator       = eventAggregator;
     this.proxyTester           = proxyTester;
     this.credentialStore       = credentialStore;
     RunStartupSequence();
 }
コード例 #4
0
        public static void InvalidateInStoreProxy(this ISocket socket)
        {
            if (socket is ProxySocket)
            {
                var proxySocket = (socket as ProxySocket);
                var proxyDatum  = proxySocket.ProxyDatum;

                ProxyTester.SetTestValidity(
                    proxyDatum,
                    socket.AddressFamily, socket.SocketType, socket.ProtocolType, proxySocket.ProxyType,
                    ProxyTester.InvalidProxyConnectionTime
                    );
            }
        }
コード例 #5
0
 public ProxySettingsView(ProxyTester proxyTester, CredentialStore credentialStore)
 {
     this.credentialStore = credentialStore;
     this.proxyTester     = proxyTester;
     InitializeComponent();
 }
コード例 #6
0
ファイル: AppViewModel.cs プロジェクト: coder5110/wpf
        public AppViewModel()
        {
            OpenProxyTester = new DelegateCommand(parameter =>
            {
                ProxyTester proxyTester = new ProxyTester()
                {
                    DataContext = new ProxyManagerViewModel()
                    {
                        Model = new ObservableCollection <Proxy>(),
                        Sites = new ObservableCollection <SiteBase>(FootsiteCollection.Sites)
                    }
                };

                proxyTester.ShowDialog();
            });

            OpenCheckoutProfileManager = new DelegateCommand(parameter =>
            {
                CheckoutProfileManager checkoutProfileManager = new CheckoutProfileManager()
                {
                    DataContext = new CheckoutProfileManagerViewModel()
                    {
                        Model = m_model.CheckoutProfiles
                    }
                };

                checkoutProfileManager.ShowDialog();
            });

            AddRelease = new DelegateCommand(parameter =>
            {
                ReleaseEditor editor = null;
                Release release      = new Release();

                while (true)
                {
                    editor = new ReleaseEditor()
                    {
                        DataContext = new ReleaseEditViewModel()
                        {
                            Model            = release,
                            CheckoutProfiles = m_model.CheckoutProfiles,
                            MaxTasksCount    = TierControl.GetRemainder()
                        }
                    };

                    if (editor.ShowDialog() ?? false)
                    {
                        if (m_model.Releases.Where(r => r.Name == release.Name).ToList().Count == 0)
                        {
                            m_model.Releases.Add(release);
                            break;
                        }

                        MessageBox.Show($"Release with name {release.Name} already exists", "Duplication", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                    else
                    {
                        break;
                    }
                }
            });

            DeleteRelease = new DelegateCommand(parameter =>
            {
                foreach (ReleaseScheduleViewModel release in SelectedReleases.ToList())
                {
                    if (release.Start.CancelCommand.CanExecute(null))
                    {
                        release.Start.CancelCommand.Execute(null);
                    }
                    m_model.Releases.Remove(release.Model);
                }
            },
                                                parameter => SelectedReleases.Count > 0);

            SaveAsProject = new DelegateCommand(parameter =>
            {
                SaveAs();
            },
                                                parameter => m_model != null);

            SaveProject = new DelegateCommand(parameter =>
            {
                Save();
            });

            OpenProject = new DelegateCommand(parameter =>
            {
                OpenFileDialog dialog = new OpenFileDialog()
                {
                    DefaultExt  = ".pdp",
                    Filter      = "Project Destroyer project files (.pdp)|*.pdp",
                    Multiselect = false
                };

                if (dialog.ShowDialog() ?? false)
                {
                    Model = Project.LoadFromFile(dialog.FileName);
                }
            });

            Close = new DelegateCommand(parameter =>
            {
                Window window = parameter as Window;

                if (CloseApp())
                {
                    window.Close();
                }
            });

            OpenDotTrickGenerator = new DelegateCommand(parameter =>
            {
                DotTrickGenerator generator = new DotTrickGenerator()
                {
                    DataContext = new DotTrickGeneratorViewModel()
                };

                generator.ShowDialog();
            });

            OpenSuccessMonitor = new DelegateCommand(parameter =>
            {
                SuccessMonitor monitor = new SuccessMonitor()
                {
                    DataContext = SuccessfulCheckouts
                };

                monitor.ShowDialog();
            });

            DeactivateMachine = new DelegateCommand(parameter =>
            {
                MachineDeactivator deactivator = new MachineDeactivator()
                {
                    DataContext = new LicenseManagerViewModel()
                    {
                        Model = LicenseInfo.GetForCurrentDevice()
                    }
                };

                if (deactivator.ShowDialog() ?? false)
                {
                    CloseApp(true);

                    Application.Current.Shutdown();
                }
            });

            OpenDocumentation = new DelegateCommand(parameter =>
            {
                Process.Start("https://projectdestroyer.com/documentation/");
            });

            TierUpgrade = new DelegateCommand(parameter => Process.Start("https://projectdestroyer.com/product/project-destroyer-sneaker-software-upgrade-beta/"));

            try
            {
                using (StreamReader reader = new StreamReader("last.pdlp"))
                {
                    string projectPath = reader.ReadLine();
                    Model = Project.LoadFromFile(projectPath);
                }
            }
            catch (Exception e)
            {
                Model = new Project();
            }
        }
コード例 #7
0
 private void BtnStartTest_Click(object sender, RoutedEventArgs e)
 {
     if (!string.IsNullOrEmpty(this.txtUrl.Text.Trim()) && !string.IsNullOrEmpty(this.txtTimeout.Text.Trim()))
     {
         this.txtUrl.Background     = (Brush)Application.Current.MainWindow.FindResource("ButtonBackground");
         this.txtTimeout.Background = (Brush)Application.Current.MainWindow.FindResource("ButtonBackground");
         if (!Global.IsProxyTestRunning)
         {
             List <ProxyObject> proxies = new List <ProxyObject>();
             foreach (object obj3 in (IEnumerable)this.gvProxies.Items)
             {
                 if (obj3 is ProxyObject)
                 {
                     ProxyObject item = (ProxyObject)obj3;
                     item.Status = "";
                     item.State  = ProxyObject.StateEnum.untested;
                     proxies.Add(item);
                 }
             }
             if (proxies.Count >= 1)
             {
                 this.progBarTester.Visibility = Visibility.Visible;
                 this.progBarTester.IsEnabled  = true;
                 Global.IsProxyTestRunning     = true;
                 TaskScheduler scheduler = TaskScheduler.FromCurrentSynchronizationContext();
                 this._cancelTokenSource = new CancellationTokenSource();
                 this._cancelToken       = this._cancelTokenSource.Token;
                 _testers = new List <ProxyTester>();
                 _pingers = new List <ProxyPinger>();
                 string url     = this.txtUrl.Text.Trim();
                 int    timeout = int.Parse(this.txtTimeout.Text.Trim());
                 if (this.rTestWebsite.IsChecked.HasValue && this.rTestWebsite.IsChecked.Value)
                 {
                     Task.Factory.StartNew(() => Parallel.ForEach <Tuple <int, int> >(Partitioner.Create(0, proxies.Count, 5), delegate(Tuple <int, int> range, ParallelLoopState state) {
                         if (this._cancelToken.IsCancellationRequested)
                         {
                             state.Break();
                         }
                         for (int i = range.Item1; i < range.Item2; i++)
                         {
                             ProxyTester item = new ProxyTester(this, proxies[i], url, timeout);
                             _testers.Add(item);
                             item.Start();
                         }
                     }), this._cancelToken).ContinueWith(delegate(Task t) {
                         Global.IsProxyTestRunning     = false;
                         this.progBarTester.Visibility = Visibility.Collapsed;
                         this.progBarTester.IsEnabled  = false;
                     }, scheduler);
                 }
                 else
                 {
                     Task.Factory.StartNew(() => Parallel.ForEach <Tuple <int, int> >(Partitioner.Create(0, proxies.Count, 5), delegate(Tuple <int, int> range, ParallelLoopState state) {
                         if (this._cancelToken.IsCancellationRequested)
                         {
                             state.Break();
                         }
                         for (int i = range.Item1; i < range.Item2; i++)
                         {
                             ProxyPinger item = new ProxyPinger(this, proxies[i], timeout);
                             _pingers.Add(item);
                             item.Start();
                         }
                     }), this._cancelToken).ContinueWith(delegate(Task t) {
                         Global.IsProxyTestRunning     = false;
                         this.progBarTester.Visibility = Visibility.Collapsed;
                         this.progBarTester.IsEnabled  = false;
                     }, scheduler);
                 }
             }
         }
     }
     else
     {
         if (!string.IsNullOrEmpty(this.txtUrl.Text))
         {
             this.txtUrl.Background = (Brush)Application.Current.MainWindow.FindResource("ButtonBackground");
         }
         else
         {
             this.txtUrl.Background = (Brush)Application.Current.MainWindow.FindResource("MissingFieldBackground");
         }
         if (string.IsNullOrEmpty(this.txtTimeout.Text))
         {
             this.txtTimeout.Background = (Brush)Application.Current.MainWindow.FindResource("MissingFieldBackground");
         }
         else
         {
             this.txtTimeout.Background = (Brush)Application.Current.MainWindow.FindResource("ButtonBackground");
         }
     }
 }