コード例 #1
0
        public void ShouldExecute()
        {
            DynamicMock webBrowserMock = new DynamicMock(typeof(IE.WebBrowser));

            PaymentInfo info = new PaymentInfo();

            info.State = State.IDLE;
            PaymentProvider provider = GetProvider();

            PaymentInfo result = provider.Execute(new PaymentRequest(webBrowserMock.MockInstance as IE.WebBrowser, info));

            Assert.AreSame(info, result);
            webBrowserMock.Verify();
        }
コード例 #2
0
        public void ShouldDoNothingOnExecute()
        {
            DynamicMock webBrowserMock = new DynamicMock(typeof(IE.WebBrowser));

            webBrowserMock.ExpectAndReturn("get_LocationURL", Settings.Default.ChoseBankLink + Settings.Default.PluginVersion);

            PaymentInfo info = new PaymentInfo();

            info.State = State.IDLE;
            PaymentProvider provider = GetProvider();

            PaymentInfo result = provider.Execute(new PaymentRequest(webBrowserMock.MockInstance as IE.WebBrowser, info));

            Assert.AreSame(info, result);
            webBrowserMock.Verify();
        }
コード例 #3
0
        public void ShouldOpenListInNewTab()
        {
            DynamicMock webBrowserMock = new DynamicMock(typeof(IE.WebBrowser));

            webBrowserMock.ExpectAndReturn("get_LocationURL", Settings.Default.ChoseBankLink + "yyy");
            webBrowserMock.Expect("Navigate2", Settings.Default.ChoseBankLink + Settings.Default.PluginVersion, 0x2, "_self", null, null);

            PaymentInfo info = new PaymentInfo();

            info.State = State.IDLE;
            PaymentProvider provider = GetProvider();

            PaymentInfo result = provider.Execute(new PaymentRequest(webBrowserMock.MockInstance as IE.WebBrowser, info));

            Assert.AreSame(info, result);
            webBrowserMock.Verify();
        }
コード例 #4
0
        /// <summary>
        /// Event invoked when user clicks "Pay" button in the sidebar.
        /// </summary>
        /// <param name="sender">pressed button's object</param>
        /// <param name="e">event arguments</param>
        private void PayButton_Click(object sender, System.EventArgs e)
        {
            try {
                Settings.Default.ReloadCount = 0;

                HtmlElement     element  = sender as HtmlElement;
                int             idx      = int.Parse(element.GetAttribute("index"));
                PaymentProvider provider = ProviderFactory.GetProvider(Util.GetProviderId(IEApp.LocationURL), true);

                paymentInfo[idx] = PaymentInfo.ValueOf(webBrowser.Document, paymentInfo[idx].Id);
                // leave original object unchanged
                PaymentInfo info = paymentInfo[idx].Clone();
                Util.SetCurrentPaymentInfo(info.ToString());
                provider.Execute(new PaymentRequest(IEApp, info, true));
                Util.SetCurrentPaymentInfo(info.ToString());
            } catch (Exception ex) {
                Util.ShowErrorMessage(ex.ToString());
            }
        }
コード例 #5
0
        /// <summary>
        /// Event invoked when IE browser completes loading the document.
        /// </summary>
        private void IEModule_DocumentComplete(object pDisp, string url)
        {
            try {
                if ("https://irachunki.pl/miniWeb/definedTransferSave.action".Equals(url))
                {
                    SendMessageToAll(WM_REFRESH);
                    return;
                }

                Util.SetUpdatedPaymentInfo("");

                PaymentInfo info = PaymentInfo.ValueOf(Application.UserAppDataRegistry.GetValue(Util.CURRENT_PAYMENT).ToString());
                if (info.State != State.INVALID && Visible == true)
                {
                    PaymentProvider tmp = ProviderFactory.GetProvider(Util.GetProviderId(IEApp.LocationURL));
                    info = tmp.Execute(new PaymentRequest(IEApp, info, url));
                    Util.SetCurrentPaymentInfo(info.ToString());
                }

                if (info.State == State.PAID)
                {
                    String markAmount = info.AmountPaid.Replace(".", ",");
                    if (info.AmountToPayInt <= info.AmountPaidInt)
                    {
                        markAmount = info.AmountToPay.Replace(".", ",");
                    }
                    if (Util.ShowYesNoQuestion(this, String.Format(Resources.MarkAsPaidQuestion, markAmount)) == true)
                    {
                        MarkAsPaid(info, true);
                    }
                    Util.SetCurrentPaymentInfo("");
                }
            } catch (Exception e) {
                Util.SetCurrentPaymentInfo("");
                Util.ShowErrorMessage(e.ToString());
            }
        }