Exemple #1
0
        public async Task CreateLndInvoiceAndPay()
        {
            var merchantInvoice = await InvoiceClient.CreateInvoice(10000, "Hello world", TimeSpan.FromSeconds(3600));

            await EnsureLightningChannelAsync();

            var payResponse = await CustomerLnd.SendPaymentSyncAsync(new LnrpcSendRequest
            {
                Payment_request = merchantInvoice.BOLT11
            });

            await EventuallyAsync(async() =>
            {
                var invoice = await InvoiceClient.GetInvoice(merchantInvoice.Id);
                Assert.True(invoice.PaidAt.HasValue);
            });
        }
Exemple #2
0
        private async Task <LightningNodeInformation> WaitLNSynched()
        {
            while (true)
            {
                var merchantInfo = await InvoiceClient.GetInfo();

                var blockCount = await ExplorerNode.GetBlockCountAsync();

                if (merchantInfo.BlockHeight != blockCount)
                {
                    await Task.Delay(500);
                }
                else
                {
                    return(merchantInfo);
                }
            }
        }
 public AcumaticaOrderPaymentPut(
     SyncOrderRepository syncOrderRepository,
     PaymentClient paymentClient,
     SettingsRepository settingsRepository,
     ExecutionLogService logService,
     PendingActionService pendingActionService,
     JobMonitoringService jobMonitoringService,
     AcumaticaTimeZoneService acumaticaTimeZoneService,
     InvoiceClient invoiceClient,
     IPushLogger systemLogger, ShopifyJsonService shopifyJsonService)
 {
     _syncOrderRepository      = syncOrderRepository;
     _paymentClient            = paymentClient;
     _settingsRepository       = settingsRepository;
     _pendingActionService     = pendingActionService;
     _systemLogger             = systemLogger;
     _shopifyJsonService       = shopifyJsonService;
     _jobMonitoringService     = jobMonitoringService;
     _acumaticaTimeZoneService = acumaticaTimeZoneService;
     _invoiceClient            = invoiceClient;
     _logService = logService;
 }
Exemple #4
0
        public async Task TestWaitListenInvoice()
        {
            var merchantInvoice = await InvoiceClient.CreateInvoice(10000, "Hello world", TimeSpan.FromSeconds(3600));

            var merchantInvoice2 = await InvoiceClient.CreateInvoice(10000, "Hello world", TimeSpan.FromSeconds(3600));

            var waitToken = default(CancellationToken);
            var listener  = await InvoiceClient.Listen(waitToken);

            var waitTask = listener.WaitInvoice(waitToken);

            await EnsureLightningChannelAsync();

            var payResponse = await CustomerLnd.SendPaymentSyncAsync(new LnrpcSendRequest
            {
                Payment_request = merchantInvoice.BOLT11
            });

            var invoice = await waitTask;

            Assert.True(invoice.PaidAt.HasValue);

            var waitTask2 = listener.WaitInvoice(waitToken);

            payResponse = await CustomerLnd.SendPaymentSyncAsync(new LnrpcSendRequest
            {
                Payment_request = merchantInvoice2.BOLT11
            });

            invoice = await waitTask2;
            Assert.True(invoice.PaidAt.HasValue);

            var waitTask3 = listener.WaitInvoice(waitToken);
            await Task.Delay(100);

            listener.Dispose();
            Assert.Throws <TaskCanceledException>(() => waitTask3.GetAwaiter().GetResult());
        }
Exemple #5
0
        public Boolean CloseInvoiceClient(InvoiceClient invC)
        {
            DAOInvoiceClient iC = new DAOInvoiceClient();

            return(iC.CloseInvoiceClient(invC));
        }
Exemple #6
0
        public Boolean ModifyInvoiceClient(InvoiceClient invC)
        {
            DAOInvoiceClient iC = new DAOInvoiceClient();

            return(iC.ModifyInvoiceClient(invC));
        }
Exemple #7
0
        public Boolean InsertInvoiceClient(InvoiceClient invC)
        {
            DAOInvoiceClient iC = new DAOInvoiceClient();

            return(iC.InsertInvoiceClient(invC));
        }
        public bool ModifyInvoiceClientPostpone(InvoiceClient invoice)
        {
            DAOInvoiceClient iC = new DAOInvoiceClient();

            return(iC.ModifyInvoiceClientPostpone(invoice));
        }
Exemple #9
0
        public async Task CreateInvoice()
        {
            var res = await InvoiceClient.CreateInvoice(10000, "Hello world", TimeSpan.FromSeconds(3600));

            output.WriteLine("Result: " + res.ToJson());
        }
Exemple #10
0
        public async Task GetInfo()
        {
            var res = await InvoiceClient.GetInfo();

            output.WriteLine("Result: " + res.ToJson());
        }
Exemple #11
0
        /// <summary>
        /// Gets the WFM Service Configured based on your requirements
        /// </summary>
        /// <param name="serviceType">The Service Type Required ("Client", "Contact" ...)</param>
        /// <returns>The Service, fully populated</returns>
        public static Object GetWcfSvc(string serviceType)
        {
            Uri             serviceUri;
            EndpointAddress endpointAddress;
            var             binding = BindingFactory.CreateInstance();
            object          service = null;

            string serviceBase = "http://modernpractice2013.cloudapp.net";

            if (DefaultRegion == "NZ")
            {
                serviceBase = "http://modernpractice2013-nz.cloudapp.net";
            }

            //serviceBase = "http://localhost:56019";

            switch (serviceType)
            {
            case "Client":
                serviceUri      = new Uri(serviceBase + "/ClientService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new ClientClient(binding, endpointAddress);
                break;

            case "Contact":
                serviceUri      = new Uri(serviceBase + "/ContactService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new ContactClient(binding, endpointAddress);
                break;

            case "CustomField":
                serviceUri      = new Uri(serviceBase + "/CustomFieldDefinitionService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new CustomFieldDefinitionClient(binding, endpointAddress);
                break;

            case "Invoice":
                serviceUri      = new Uri(serviceBase + "/InvoiceService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new InvoiceClient(binding, endpointAddress);
                break;

            case "Job":
                serviceUri      = new Uri(serviceBase + "/JobService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new JobClient(binding, endpointAddress);
                break;

            case "Lead":
                serviceUri      = new Uri(serviceBase + "/LeadService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new LeadClient(binding, endpointAddress);
                break;

            case "Quote":
                serviceUri      = new Uri(serviceBase + "/QuoteService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new QuoteClient(binding, endpointAddress);
                break;

            case "Task":
                serviceUri      = new Uri(serviceBase + "/TaskService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new TaskClient(binding, endpointAddress);
                break;

            case "Staff":
                serviceUri      = new Uri(serviceBase + "/StaffService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new StaffClient(binding, endpointAddress);
                break;

            case "Template":
                serviceUri      = new Uri(serviceBase + "/TemplateService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new TemplateClient(binding, endpointAddress);
                break;

            case "Cost":
                serviceUri      = new Uri(serviceBase + "/CostService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new CostClient(binding, endpointAddress);
                break;

            case "Supplier":
                serviceUri      = new Uri(serviceBase + "/SupplierService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new SupplierClient(binding, endpointAddress);
                break;

            case "PurchaseOrder":
                serviceUri      = new Uri(serviceBase + "/PurchaseOrderService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new PurchaseOrderClient(binding, endpointAddress);
                break;

            case "Time":
                serviceUri      = new Uri(serviceBase + "/TimeService.svc");
                endpointAddress = new EndpointAddress(serviceUri);
                service         = new SupplierClient(binding, endpointAddress);
                break;
            }
            return(service);
        }