Ejemplo n.º 1
0
        public void Init_UsingValidOptions_CreatesTable(string tablePrefix)
        {
            var expectedTableName = tablePrefix + "PaymentLinks";
            var expectedColumns   = new[]
            {
                nameof(PaymentLink.Id),
                nameof(PaymentLink.Amount),
                nameof(PaymentLink.BankReferenceId),
                nameof(PaymentLink.CreateDate),
                nameof(PaymentLink.Description),
                nameof(PaymentLink.ExpireDays),
                nameof(PaymentLink.FollowId),
                nameof(PaymentLink.ClusterId),
                nameof(PaymentLink.LastCheckForUpdateDate),
                nameof(PaymentLink.PaymentStatus),
                nameof(PaymentLink.ResultDate),
                nameof(PaymentLink.Token),
                nameof(PaymentLink.Url)
            };

            var options = new PardakhtVasetClientOptions();

            options.ConnectionString = ConnectionStrings;
            options.TablePrefix      = tablePrefix;

            var client = new PardakhtVasetClient(options);

            client.Init(null);

            Assert.True(TableExists(expectedTableName));
            Assert.True(ColumnsExists(expectedTableName, expectedColumns));
        }
        public void CreateInstance_WithCorrectOptions_CreatesNewInstance()
        {
            var options = new PardakhtVasetClientOptions {
                ApiKey = "my api key", Password = "******", ConnectionString = "my connection string;", TablePrefix = "pv"
            };
            var client = new PardakhtVasetClient(options);

            Assert.NotNull(client);
            Assert.Equal(options.ConnectionString, client.Options.ConnectionString);
            Assert.Equal(options.ApiKey, client.Options.ApiKey);
            Assert.Equal(options.TablePrefix, client.Options.TablePrefix);
        }
        public void Dispose_WithExistingSubscribers_DisposeWithoutError()
        {
            var options = new PardakhtVasetClientOptions {
                ApiKey = "my api key", Password = "******", ConnectionString = "my connection string;", TablePrefix = "pv"
            };

            var mockedDbInitializer        = new Mock <IDbInitializer>();
            var mockedPaymentRepository    = new Mock <IPaymentLinkRepository>();
            var mockedPaymetRequestFactory = new Mock <IPayRequestFactory>();
            var mockedPayRequest           = new Mock <IPayRequestV2>();

            mockedPaymetRequestFactory.Setup(x => x.CreateV2()).Returns(mockedPayRequest.Object);

            var client = new PardakhtVasetClient(options, mockedDbInitializer.Object, mockedPaymentRepository.Object, mockedPaymetRequestFactory.Object);

            client.PaymentLinkNotificationService.PaymentLinkChanged += (o, e) => { };
            var ex = Record.Exception(() => client.Dispose());

            Assert.Null(ex);
            Assert.NotNull(client);
            mockedPaymentRepository.Verify(x => x.Dispose(), Times.Once);
        }
Ejemplo n.º 4
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            var options = new PardakhtVasetClientOptions();

            options.ConnectionString = Settings.Default.ConnectionString;
            options.ApiKey           = Settings.Default.ApiKey;
            options.Password         = Settings.Default.Password;

            options.TablePrefix = "";

            _client = new PardakhtVasetClient(options);
            _client.Init(Settings.Default.ClusterId);

            _client.PaymentLinkNotificationService.PaymentLinkChanged += PaymentLinkNotificationService_PaymentLinkChanged;
            _client.PaymentLinkNotificationService.Start(TimeSpan.FromSeconds(10));

            try
            {
                refreshDataToolStripMenuItem_Click(sender, e);
            }
            catch { }
        }
Ejemplo n.º 5
0
        private void btnCheckApiKey_Click(object sender, EventArgs e)
        {
            try
            {
                var client = new PardakhtVasetClient(new PardakhtVasetClientOptions {
                    ConnectionString = txtConnectionString.Text.Trim(), TablePrefix = ""
                });
                var result = client.Test(txtApiKey.Text, txtPassword.Text);

                if (result)
                {
                    MessageBox.Show("Api key is valid!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Api key is not valid! Please enter a valid API Key.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }