/// <summary> /// Refreshing GridView Items /// </summary> public void RefreshGridview() { var proxy = new Proxy.Proxy(); AccountGridView.ItemsSource = proxy.GetUserAccounts(Windows.MainWindow.Credentials); AccountGridView.Items.Refresh(); }
private HttpWebRequest ConvertHttpUriRequest(Request request, Site site, Proxy.Proxy proxy) { var httpWebRequest = (HttpWebRequest)WebRequest. Create(UrlUtils.FixIllegalCharacterInUrl(request.GetUrl())); httpWebRequest.Headers = new WebHeaderCollection(); if (site.Headers != null) { foreach (var headerEntry in site.Headers) { httpWebRequest.Headers.Add(headerEntry.Key, headerEntry.Value); } } if (site != null) { httpWebRequest.Timeout = site.TimeOut; httpWebRequest.ContinueTimeout = site.TimeOut; httpWebRequest.ReadWriteTimeout = site.TimeOut; } if (proxy != null) { httpWebRequest.Proxy = new WebProxy(proxy.Host, proxy.Port); } if (request.GetHeaders() != null && request.GetHeaders().Count > 0) { foreach (var header in request.GetHeaders()) { httpWebRequest.Headers.Add(header.Key, header.Value); } } return(httpWebRequest); }
/// <summary> /// Refreshing GridView Items /// </summary> private void RefreshHistoryList() { var proxy = new Proxy.Proxy(); HistoryListView.ItemsSource = proxy.GetUsersHistory(MainWindow.Credentials); HistoryListView.Items.Refresh(); }
private void Login_button_OnClick(object sender, RoutedEventArgs e) { // Get data from Window var password = password_passwordBox.Password; var login = login_textBox.Text; // Check parameters if (!CheckLoginParameters()) { return; } // Let service validate user var proxy = new Proxy.Proxy(); var message = proxy.ValidateUser(login, password); if (message.IsError) { // Show service mesasge ClientUtils.ShowMessage(message); password_passwordBox.Password = ""; return; } // If everythings fine send data to MainWindow, show the window ... DialogFinished?.Invoke(this, new LoginWindowEventArgs(message.MessageText)); _mainWindow.Show(); // ... and close LoginWindow Close(); }
private void CreateAccount_OnClick(object sender, RoutedEventArgs e) { var proxy = new Proxy.Proxy(); proxy.CreateBankAccount(Credentials); _gridViewPage.RefreshGridview(); }
public void ProxyTest() { var realSubject = new RealSubject(); Client.ClientCode(realSubject).Should().Be(StructuralText.SubjectHandlingRequest); var proxy = new Proxy.Proxy(realSubject); Client.ClientCode(proxy).Should().Be(StructuralText.ProxyHandlingRequest); }
public HttpClientRequestContext Convert(Request request, Site site, Proxy.Proxy proxy) { var httpClientRequestContext = new HttpClientRequestContext { HttpClient = ConvertHttpClientContext(request, site, proxy), HttpRequest = ConvertHttpUriRequest(request, site, proxy) }; return(httpClientRequestContext); }
public FileTransfer(string downloadPath, string uploadPath, Proxy.Proxy proxy) { InitializeComponent(); _proxy = proxy; this.downloadPath = downloadPath; this.uploadPath = uploadPath; Task.Run(() => { Listener(); }); UploadFilesToServer(); myDownloadFiles = new List <DownloadFile>(); this.Show(); }
private HttpCoreClient ConvertHttpClientContext(Request request, Site site, Proxy.Proxy proxy) { var httpContext = new HttpCoreClient(); httpContext.Items.Url = UrlUtils.FixIllegalCharacterInUrl(request.GetUrl()); httpContext.Items.Method = request.GetMethod(); if (site != null) { httpContext.Items.Timeout = site.TimeOut; httpContext.Items.ReadWriteTimeout = site.TimeOut; } if (site?.Headers != null) { foreach (var headerEntry in site.Headers) { httpContext.Items.Header.Add(headerEntry.Key, headerEntry.Value); } } if (proxy != null && proxy.Username != null) { httpContext.Items.ProxyIp = $"{proxy.Host}:{proxy.Port}"; httpContext.Items.ProxyUserName = proxy.Username; httpContext.Items.ProxyPwd = proxy.Password; } if (request.GetCookies() != null && request.GetCookies().Count > 0) { var cookieStore = new CookieContainer(); foreach (var cookieEntry in request.GetCookies()) { var cookie1 = new Cookie(cookieEntry.Key, cookieEntry.Value) { Domain = UrlUtils.RemovePort(UrlUtils.GetDomain(request.Url)) }; cookieStore.Add(cookie1); } httpContext.Items.Container = cookieStore; } if (request.GetHeaders() != null && request.GetHeaders().Count > 0) { foreach (var header in request.GetHeaders()) { httpContext.Items.Header.Add(header.Key, header.Value); } } return(httpContext); }
public void TestRegisterAndRemoveProxy() { // register a proxy, remove it, then try to retrieve it var facade = Facade.GetInstance("FacadeTestKey5", key => new Facade(key)); IProxy proxy = new Proxy.Proxy("sizes", new [] { "7", "13", "21" }); facade.RegisterProxy(proxy); // remove the proxy var removedProxy = facade.RemoveProxy("sizes"); // assert that we removed the appropriate proxy Assert.IsTrue(removedProxy.ProxyName == "sizes", "Expecting removedProxy.ProxyName == 'sizes'"); // make sure we can no longer retrieve the proxy from the model proxy = facade.RemoveProxy("sizes"); // test assertions Assert.IsNull(proxy, "Expecting proxy is null"); }
/// <summary> /// Execute external or internal transfer call to SOAP Service. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DoTransfer(object sender, RoutedEventArgs e) { if (!CheckTransferParameters()) { return; } //var sb = new StringBuilder(TitleTextBox.Text); var transfer = new Transfer { Amount = int.Parse(AmountTextBox.Text), From = AccountFromTextBox.Text, Title = TitleTextBox.Text }; var proxy = new Proxy.Proxy(); // Invoke internal or external transfer call var respondMessage = _isExternal ? proxy.ExecuteExternalTransfer(transfer, AccountToTextBox.Text, MainWindow.Credentials) : proxy.ExecuteInternalTransfer(transfer, AccountToTextBox.Text, MainWindow.Credentials); ClientUtils.ShowMessage(respondMessage); // Go back to main window var ns = NavigationService.GetNavigationService(ExecuteTransferButton); if (ns == null) { return; } if (ns.CanGoBack) { ns.GoBack(); } }
private void regiser_button_OnClick(object sender, RoutedEventArgs e) { if (!CheckLoginParameters()) { return; } // Register client var proxy = new Proxy.Proxy(); var message = proxy.AddUser(login_textBox.Text, password_passwordBox.Password); // Show return message (Wheather it is success or failure) ClientUtils.ShowMessage(message); // If something goes wrong don't reset Login and Password fields if (message.IsError) { return; } password_passwordBox.Password = ""; login_textBox.Text = ""; }
private bool CheckTransferParameters() { var proxy = new Proxy.Proxy(); if (!AccountUtils.ValidateAccountNumber(AccountFromTextBox.Text) || proxy.GetUserAccounts(MainWindow.Credentials).FirstOrDefault(x => x.BankAccountNumber == AccountFromTextBox.Text) == null) { ClientUtils.ShowMessage(new ErrorMessage(_resourceWrapper.InvalidBankAccountFrom)); return(false); } if (!AccountUtils.ValidateAccountNumber(AccountToTextBox.Text)) { ClientUtils.ShowMessage(new ErrorMessage(_resourceWrapper.InvalidBankAccountTo)); return(false); } if (AccountFromTextBox.Text == AccountToTextBox.Text) { ClientUtils.ShowMessage(new ErrorMessage(_resourceWrapper.SameFromToBankAccounts)); return(false); } if (TitleTextBox.Text == "") { ClientUtils.ShowMessage(new ErrorMessage(_resourceWrapper.NoTitleError)); return(false); } decimal amountDec; if (decimal.TryParse(AmountTextBox.Text.Replace(".", ","), out amountDec) && amountDec > 0) { return(true); } ClientUtils.ShowMessage(new ErrorMessage(_resourceWrapper.WrongAmount)); return(false); }
public async Task ExtractProxyList() { try { //Instancio variável proxyPage para inserir dados extraídos no banco. var proxyPage = new ProxyPage.ProxyPage(); proxyPage.DateBegin = DateTime.Now; //url inicial a ser utilizada var url = "https://proxyservers.pro/proxy/list/order/updated/order_dir/desc/"; //instancio cliente para baixar o html var httpClient = new HttpClient(); var html = await httpClient.GetStringAsync(url); //serialização do HTML com HtmlAgilityPack pra facilitar as extrações var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(html); //Utilizo xpath e alguns métodos do HtmlAgilityPack pra contabilizar o total de páginas da lista de proxys var node = htmlDocument.DocumentNode.SelectSingleNode("//ul[@class='pagination justify-content-end']"); var pages = node.Descendants("li").ToList().Count; proxyPage.PageQty = pages; //Instancio a minha lista de proxys var proxyList = new List <Proxy.Proxy>(); for (var i = 1; i <= pages;) { //Salva print (arquivo html) da página [i] File.WriteAllText($"{Directory.GetCurrentDirectory()}/Prints_Pagina{i}.html", htmlDocument.ParsedText); //Pego todas as linhas da lista de proxys na página [i] var rows = htmlDocument.DocumentNode.SelectNodes("//tbody/tr[@valign='top']").ToList(); proxyPage.LineQty += rows.Count(); foreach (var row in rows) { //instancio o proxy e preencho todos os campos com os dados do item atual do foreach var proxy = new Proxy.Proxy(); proxy.IpAdress = row.SelectSingleNode("td[2]/a[1]").InnerText; proxy.Port = row.SelectSingleNode("td[3]/span").InnerText; var rawCountry = row.SelectSingleNode("td[4]").InnerText; proxy.Country = Regex.Replace(rawCountry, @"\s+", string.Empty); proxy.Protocol = row.SelectSingleNode("td[7]").InnerText; proxyList.Add(proxy); } //pego e serializo o HTML da próxima página, atualizando o índice [i] do For html = await httpClient.GetStringAsync($"{url}/page/{i++}"); htmlDocument.LoadHtml(html); } //Serializo a lista pra uma string json e salvo como arquivo no diretorio root var jsonFile = JsonConvert.SerializeObject(proxyList); File.WriteAllText($"{Directory.GetCurrentDirectory()}/proxyList.json", jsonFile); proxyPage.JsonFile = jsonFile; proxyPage.Id = Guid.NewGuid(); proxyPage.DateEnd = DateTime.Now; //finalizo inserindo dados da extração no banco _proxyPageRepository.Insert(proxyPage); } catch (Exception ex) { throw ex; } }
/// <summary> /// Withdraw and Deposit button handler /// </summary> private void WithdrawDepositButton_OnClick(object sender, RoutedEventArgs e) { // Getting and checking selected item in GridView var selectedAccount = _gridViewPage.GetSelectedItem(); var button = sender as Button; Message result = null; // When no item is selected in GridView do nothing if (selectedAccount == null) { return; } // Get amount money to withdraw/deposit var input = Microsoft.VisualBasic.Interaction.InputBox(ResourceWrapper.WithdrawDepositAmountInput, ResourceWrapper.WithdrawDeposit); if (input == "") { return; } // It is possible that user enters wrong data decimal amount; var parse = decimal.TryParse(input.Replace('.', ','), out amount); if (!parse || amount > long.MaxValue || amount <= 0) { // If they do, show message and do nothing. ClientUtils.ShowMessage(new ErrorMessage(ResourceWrapper.WrongAmount)); return; } // Show to the user that program is working ProgressBar.Visibility = Visibility.Visible; // Establish connection with service var proxy = new Proxy.Proxy(); // Regarding which button was pressed invoking WithdrawDeposit method with Deposit or Withdraw object if (button?.Name == DepositButton.Name) { result = proxy.WithdrawDepositMoney(new Deposit { Amount = amount, BankAccountNumber = selectedAccount.BankAccountNumber, Credentials = Credentials }); } else if (button?.Name == WithdrawButton.Name) { var withdraw = new Withdraw() { Amount = amount, BankAccountNumber = selectedAccount.BankAccountNumber, Credentials = Credentials }; result = proxy.WithdrawDepositMoney(withdraw); } // Refresh GridView _gridViewPage.RefreshGridview(); // Program stopped working ProgressBar.Visibility = Visibility.Hidden; ClientUtils.ShowMessage(result); Main.Content = _gridViewPage; }
protected void Page_Load(object sender, EventArgs e) { _proxy = new Proxy.Proxy(); }