Beispiel #1
0
        /// <summary>
        /// Refreshing GridView Items
        /// </summary>
        public void RefreshGridview()
        {
            var proxy = new Proxy.Proxy();

            AccountGridView.ItemsSource = proxy.GetUserAccounts(Windows.MainWindow.Credentials);
            AccountGridView.Items.Refresh();
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <summary>
        /// Refreshing GridView Items
        /// </summary>
        private void RefreshHistoryList()
        {
            var proxy = new Proxy.Proxy();

            HistoryListView.ItemsSource = proxy.GetUsersHistory(MainWindow.Credentials);
            HistoryListView.Items.Refresh();
        }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        private void CreateAccount_OnClick(object sender, RoutedEventArgs e)
        {
            var proxy = new Proxy.Proxy();

            proxy.CreateBankAccount(Credentials);

            _gridViewPage.RefreshGridview();
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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();
 }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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");
        }
Beispiel #11
0
        /// <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();
            }
        }
Beispiel #12
0
        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            = "";
        }
Beispiel #13
0
        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);
        }
Beispiel #14
0
        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;
            }
        }
Beispiel #15
0
        /// <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;
        }
Beispiel #16
0
 protected void Page_Load(object sender, EventArgs e)
 {
     _proxy = new Proxy.Proxy();
 }