コード例 #1
0
 public override void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
 {
     if (deviceEvent.EventState == CloverDeviceEvent.DeviceEventState.RECEIPT_OPTIONS)
     {
         Connector.InvokeInputOption(deviceEvent.InputOptions.First());
     }
 }
コード例 #2
0
        public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
        {
            OnDeviceActivityStartMessage message = new OnDeviceActivityStartMessage();

            message.payload = deviceEvent;
            WebSocket.Send(JsonUtils.serialize(message));
        }
コード例 #3
0
        public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
        {
            OnDeviceActivityStartMessage method = new OnDeviceActivityStartMessage();

            method.payload = deviceEvent;
            string messageContent = Serialize(method);

            Send(messageContent);
        }
コード例 #4
0
        public void OnDeviceActivityEnd(CloverDeviceEvent deviceEvent)
        {
            OnDeviceActivityEndMessage method = new OnDeviceActivityEndMessage();

            method.payload = deviceEvent;
            string messageContent = Serialize(method);

            WebSocket.Send(messageContent);
        }
        public void OnDeviceActivityEnd(HttpListenerContext context)
        {
            CloverDeviceEvent deviceEvent = ParseResponse <CloverDeviceEvent>(context);

            if (deviceEvent != null)
            {
                connectorListener.ForEach(listener => listener.OnDeviceActivityEnd(deviceEvent));
            }
            SendTextResponse(context, "");
        }
コード例 #6
0
ファイル: CloverConnection.cs プロジェクト: prix79/B4U_POS
 public void OnDeviceActivityEnd(CloverDeviceEvent deviceEvent)
 {
     try
     {
         uiThread.Send(delegate(object state)
         {
         }, null);
     }
     catch (Exception)
     {
         // if UI goes away, uiThread may be disposed
     }
 }
コード例 #7
0
 public void OnDeviceActivityEnd(CloverDeviceEvent deviceEvent)
 {
     try
     {
         uiThread.Send(delegate(object state) {
             UIStateButtonPanel.Controls.Clear();
             DeviceCurrentStatus.Text = " ";
         }, null);
     }
     catch (Exception e)
     {
         // if UI goes away, uiThread may be disposed
     }
 }
コード例 #8
0
 public void OnDeviceActivityEnd(HttpListenerContext context)
 {
     try
     {
         CloverDeviceEvent deviceEvent = ParseResponse <CloverDeviceEvent>(context);
         if (deviceEvent != null)
         {
             connectorListener.ForEach(listener => listener.OnDeviceActivityEnd(deviceEvent));
         }
         SendTextResponse(context, "");
     }
     catch (Exception e)
     {
         context.Response.StatusCode        = 400;
         context.Response.StatusDescription = e.Message;
         SendTextResponse(context, "error processing request");
     }
 }
コード例 #9
0
 ////////////////// CloverDeviceLister Methods //////////////////////
 public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
 {
     uiThread.Send(delegate(object state) {
         UIStateButtonPanel.Controls.Clear();
         if (deviceEvent.InputOptions != null)
         {
             foreach (InputOption io in deviceEvent.InputOptions)
             {
                 Button b    = new Button();
                 b.FlatStyle = FlatStyle.Flat;
                 b.BackColor = Color.White;
                 b.Text      = io.description;
                 b.Click    += io.handler;
                 UIStateButtonPanel.Controls.Add(b);
             }
         }
         UIStateButtonPanel.Parent.PerformLayout();
         DeviceCurrentStatus.Text = deviceEvent.Message;
     }, null);
 }
        private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            // do the parsing of the message, targeted for the callback listener
            JObject jsonObj = null;

            try
            {
                jsonObj = (JObject)JsonConvert.DeserializeObject(e.Message);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message + " => " + e.Message);
                listeners.ForEach(listener => listener.OnError(exc));
                return;
            }

            JToken method = jsonObj.GetValue(ServicePayloadConstants.PROP_METHOD);

            if (method == null)
            {
                listeners.ForEach(listener => listener.OnError(new NullReferenceException("Invalid message: " + e.Message)));
                return;
            }
            JObject         payload = (JObject)jsonObj.GetValue(ServicePayloadConstants.PROP_PAYLOAD);
            WebSocketMethod wsm     = (WebSocketMethod)Enum.Parse(typeof(WebSocketMethod), method.ToString());

            switch (wsm)
            {
            case WebSocketMethod.DeviceActivityStart:
            {
                CloverDeviceEvent deviceEvent = JsonUtils.deserialize <CloverDeviceEvent>(payload.ToString());
                listeners.ForEach(listener => listener.OnDeviceActivityStart(deviceEvent));
                break;
            }

            case WebSocketMethod.DeviceActivityEnd:
            {
                CloverDeviceEvent deviceEvent = JsonUtils.deserialize <CloverDeviceEvent>(payload.ToString());
                listeners.ForEach(listener => listener.OnDeviceActivityEnd(deviceEvent));
                break;
            }

            case WebSocketMethod.DeviceConnected:
            {
                listeners.ForEach(listener => listener.OnDeviceConnected());
                break;
            }

            case WebSocketMethod.DeviceDisconnected:
            {
                listeners.ForEach(listener => listener.OnDeviceDisconnected());
                break;
            }

            case WebSocketMethod.DeviceReady:
            {
                listeners.ForEach(listener => listener.OnDeviceReady());
                break;
            }

            case WebSocketMethod.SignatureVerifyRequest:
            {
                SignatureVerifyRequest        svr     = JsonUtils.deserialize <SignatureVerifyRequest>(payload.ToString());
                WebSocketSigVerRequestHandler handler = new WebSocketSigVerRequestHandler(this, svr);
                listeners.ForEach(listener => listener.OnSignatureVerifyRequest(handler));
                break;
            }

            case WebSocketMethod.SaleResponse:
            {
                SaleResponse sr = JsonUtils.deserialize <SaleResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnSaleResponse(sr));
                break;
            }

            case WebSocketMethod.AuthResponse:
            {
                AuthResponse sr = JsonUtils.deserialize <AuthResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnAuthResponse(sr));
                break;
            }

            case WebSocketMethod.RefundPaymentResponse:
            {
                RefundPaymentResponse sr = JsonUtils.deserialize <RefundPaymentResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnRefundPaymentResponse(sr));
                break;
            }

            case WebSocketMethod.VoidPaymentResponse:
            {
                VoidPaymentResponse sr = JsonUtils.deserialize <VoidPaymentResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnVoidPaymentResponse(sr));
                break;
            }

            case WebSocketMethod.ManualRefundResponse:
            {
                ManualRefundResponse sr = JsonUtils.deserialize <ManualRefundResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnManualRefundResponse(sr));
                break;
            }

            case WebSocketMethod.TipAdjustAuthResponse:
            {
                TipAdjustAuthResponse taar = JsonUtils.deserialize <TipAdjustAuthResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnAuthTipAdjustResponse(taar));
                break;
            }

            case WebSocketMethod.VaultCardResponse:
            {
                VaultCardResponse vcr = JsonUtils.deserialize <VaultCardResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnVaultCardResponse(vcr));
                break;
            }
            }
        }
コード例 #11
0
 public void OnDeviceActivityEnd(CloverDeviceEvent deviceEvent) => DeviceActivityEnd?.Invoke(this, deviceEvent);
コード例 #12
0
 public void OnDeviceActivityEnd(CloverDeviceEvent deviceEvent)
 {
     connectorListener.ForEach(listener => listener.OnDeviceActivityEnd(deviceEvent));
 }
コード例 #13
0
ファイル: Listener.cs プロジェクト: jwhitted-clover/jester
 public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent) => Event?.Invoke(this, EventFrom("DeviceActivityStart", deviceEvent));
コード例 #14
0
ファイル: CloverConnection.cs プロジェクト: prix79/B4U_POS
 public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
 {
     uiThread.Send(delegate(object state)
     {
     }, null);
 }
        private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e)
        {
            // do the parsing of the message, targeted for the callback listener
            JObject jsonObj = null;

            try
            {
                jsonObj = (JObject)JsonConvert.DeserializeObject(e.Message);
            }
            catch (Exception exc)
            {
                Console.WriteLine(exc.Message + " => " + e.Message);
                listeners.ForEach(listener => listener.OnDeviceError(new CloverDeviceErrorEvent(CloverDeviceErrorEvent.CloverDeviceErrorType.EXCEPTION, 0, exc.Message + " => " + e.Message)));
                return;
            }

            JToken method = jsonObj.GetValue(ServicePayloadConstants.PROP_METHOD);

            if (method == null)
            {
                listeners.ForEach(listener => listener.OnDeviceError(new CloverDeviceErrorEvent(CloverDeviceErrorEvent.CloverDeviceErrorType.VALIDATION_ERROR, 0, "Invalid message: " + e.Message)));
                return;
            }
            JObject         payload = (JObject)jsonObj.GetValue(ServicePayloadConstants.PROP_PAYLOAD);
            WebSocketMethod wsm     = (WebSocketMethod)Enum.Parse(typeof(WebSocketMethod), method.ToString());

            switch (wsm)
            {
            case WebSocketMethod.DeviceActivityStart:
            {
                CloverDeviceEvent deviceEvent = JsonUtils.deserialize <CloverDeviceEvent>(payload.ToString());
                listeners.ForEach(listener => listener.OnDeviceActivityStart(deviceEvent));
                break;
            }

            case WebSocketMethod.DeviceActivityEnd:
            {
                CloverDeviceEvent deviceEvent = JsonUtils.deserialize <CloverDeviceEvent>(payload.ToString());
                listeners.ForEach(listener => listener.OnDeviceActivityEnd(deviceEvent));
                break;
            }

            case WebSocketMethod.DeviceError:
            {
                CloverDeviceErrorEvent deviceErrorEvent = JsonUtils.deserialize <CloverDeviceErrorEvent>(payload.ToString());
                listeners.ForEach(listener => listener.OnDeviceError(deviceErrorEvent));
                break;
            }

            case WebSocketMethod.DeviceConnected:
            {
                listeners.ForEach(listener => listener.OnDeviceConnected());
                break;
            }

            case WebSocketMethod.DeviceDisconnected:
            {
                listeners.ForEach(listener => listener.OnDeviceDisconnected());
                break;
            }

            case WebSocketMethod.DeviceReady:
            {
                MerchantInfo merchantInfo = JsonUtils.deserialize <MerchantInfo>(payload.ToString());
                listeners.ForEach(listener => listener.OnDeviceReady(merchantInfo));
                break;
            }

            case WebSocketMethod.VerifySignatureRequest:
            {
                VerifySignatureRequest        svr     = JsonUtils.deserialize <VerifySignatureRequest>(payload.ToString());
                WebSocketSigVerRequestHandler handler = new WebSocketSigVerRequestHandler(this, svr);
                listeners.ForEach(listener => listener.OnVerifySignatureRequest(handler));
                break;
            }

            case WebSocketMethod.SaleResponse:
            {
                SaleResponse sr = JsonUtils.deserialize <SaleResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnSaleResponse(sr));
                break;
            }

            case WebSocketMethod.PreAuthResponse:
            {
                PreAuthResponse pr = JsonUtils.deserialize <PreAuthResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnPreAuthResponse(pr));
                break;
            }

            case WebSocketMethod.AuthResponse:
            {
                AuthResponse ar = JsonUtils.deserialize <AuthResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnAuthResponse(ar));
                break;
            }

            case WebSocketMethod.CapturePreAuthResponse:
            {
                CapturePreAuthResponse ar = JsonUtils.deserialize <CapturePreAuthResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnCapturePreAuthResponse(ar));
                break;
            }

            case WebSocketMethod.RefundPaymentResponse:
            {
                RefundPaymentResponse sr = JsonUtils.deserialize <RefundPaymentResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnRefundPaymentResponse(sr));
                break;
            }

            case WebSocketMethod.VoidPaymentResponse:
            {
                VoidPaymentResponse sr = JsonUtils.deserialize <VoidPaymentResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnVoidPaymentResponse(sr));
                break;
            }

            case WebSocketMethod.ManualRefundResponse:
            {
                ManualRefundResponse sr = JsonUtils.deserialize <ManualRefundResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnManualRefundResponse(sr));
                break;
            }

            case WebSocketMethod.TipAdjustAuthResponse:
            {
                TipAdjustAuthResponse taar = JsonUtils.deserialize <TipAdjustAuthResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnTipAdjustAuthResponse(taar));
                break;
            }

            case WebSocketMethod.VaultCardResponse:
            {
                VaultCardResponse vcr = JsonUtils.deserialize <VaultCardResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnVaultCardResponse(vcr));
                break;
            }

            case WebSocketMethod.ReadCardDataResponse:
            {
                ReadCardDataResponse rcdr = JsonUtils.deserialize <ReadCardDataResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnReadCardDataResponse(rcdr));
                break;
            }

            case WebSocketMethod.CloseoutResponse:
            {
                CloseoutResponse cr = JsonUtils.deserialize <CloseoutResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnCloseoutResponse(cr));
                break;
            }

            case WebSocketMethod.ConfirmPaymentRequest:
            {
                ConfirmPaymentRequest cpr = JsonUtils.deserialize <ConfirmPaymentRequest>(payload.ToString());
                listeners.ForEach(listener => listener.OnConfirmPaymentRequest(cpr));
                break;
            }

            case WebSocketMethod.RetrievePendingPaymentsResponse:
            {
                RetrievePendingPaymentsResponse rppr = JsonUtils.deserialize <RetrievePendingPaymentsResponse>(payload.ToString());
                listeners.ForEach(listener => listener.OnRetrievePendingPaymentsResponse(rppr));
                break;
            }

            case WebSocketMethod.PrintManualRefundDeclinedReceipt:
            {
                PrintManualRefundDeclineReceiptMessage pmrdrm = JsonUtils.deserialize <PrintManualRefundDeclineReceiptMessage>(payload.ToString());
                listeners.ForEach(listener => listener.OnPrintManualRefundDeclineReceipt(pmrdrm));
                break;
            }

            case WebSocketMethod.PrintManualRefundReceipt:
            {
                PrintManualRefundReceiptMessage pmrrm = JsonUtils.deserialize <PrintManualRefundReceiptMessage>(payload.ToString());
                listeners.ForEach(listener => listener.OnPrintManualRefundReceipt(pmrrm));
                break;
            }

            case WebSocketMethod.PrintPaymentDeclinedReceipt:
            {
                PrintPaymentDeclineReceiptMessage ppdrm = JsonUtils.deserialize <PrintPaymentDeclineReceiptMessage>(payload.ToString());
                listeners.ForEach(listener => listener.OnPrintPaymentDeclineReceipt(ppdrm));
                break;
            }

            case WebSocketMethod.PrintPaymentMerchantCopyReceipt:
            {
                PrintPaymentMerchantCopyReceiptMessage ppmcrm = JsonUtils.deserialize <PrintPaymentMerchantCopyReceiptMessage>(payload.ToString());
                listeners.ForEach(listener => listener.OnPrintPaymentMerchantCopyReceipt(ppmcrm));
                break;
            }

            case WebSocketMethod.PrintPaymentReceipt:
            {
                PrintPaymentReceiptMessage pprm = JsonUtils.deserialize <PrintPaymentReceiptMessage>(payload.ToString());
                listeners.ForEach(listener => listener.OnPrintPaymentReceipt(pprm));
                break;
            }

            case WebSocketMethod.PrintPaymentRefundReceipt:
            {
                PrintRefundPaymentReceiptMessage prprm = JsonUtils.deserialize <PrintRefundPaymentReceiptMessage>(payload.ToString());
                listeners.ForEach(listener => listener.OnPrintRefundPaymentReceipt(prprm));
                break;
            }
            }
        }
コード例 #16
0
 public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
 {
     Send("/DeviceActivityStart", Serialize(deviceEvent));
 }
コード例 #17
0
 public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent)
 {
     Program.WriteLine(MethodBase.GetCurrentMethod().Name, deviceEvent);
 }
コード例 #18
0
 public void OnDeviceActivityStart(CloverDeviceEvent deviceEvent) => DeviceActivityStart?.Invoke(this, deviceEvent);