public void Connect()
        {
            try
            {
                //Note that the url is specified in the PowerTranzSDK.dll.config file in this example
                PtzApi = new PtzApi(ApplicationId, GatewayKey, PowerTranzId, PowerTranzPassword, null, 20);

                Terminal = new PTZMiuraTerminal(PtzApi);

                RegisterListeners(Terminal);

                if (TerminalAddress.StartsWith("COM"))
                {
                    CommonUtility.LogInfo("Connecting via USB");
                    var tsk = Terminal.ConnectTerminalWithInputTypeAsync(CardTerminalInputType.CardTerminalTypeUsb, TerminalAddress);
                }
                else
                {
                    CommonUtility.LogInfo("Connecting via BlueTooth");
                    var tsk = Terminal.ConnectTerminalWithInputTypeAsync(CardTerminalInputType.CardTerminalTypeBluetooth, TerminalAddress);
                }
            }
            catch (Exception x)
            {
                CommonUtility.LogInfo($"Connection exception \n\n{x.ToString()}");
            }
        }
        public async Task <List <PtzTransactionResponse> > SearchTransactions(DateTime startDate, DateTime endDate, bool approved)
        {
            //Note that the url is specified in the PowerTranzSDK.dll.config file in this example
            var ptzapi = new PtzApi(ApplicationId, GatewayKey, PowerTranzId, PowerTranzPassword, null, 20);

            var req = new PtzTransactionRequest();

            req.StartDateTime = startDate;
            if (endDate != null)
            {
                req.EndDateTime = endDate;
            }

            req.Approved = approved;

            var trxns = await ptzapi.TransactionSearchAsync(req);

            return(trxns.Transactions.ToList());
        }