コード例 #1
0
        /// <summary>
        /// Przetwarza dane otrzymane od serwera, określa czy są odpowiedzią na zapytanie, czy sygnałem od serwera
        /// </summary>
        /// <param name="data">Dane do przetworzenia</param>
        protected void ProcessReceivedData(JObject data)
        {
            var serializer = new StandardResponseWrapperSerializer(data);

            try {
                serializer.Validate();
            } catch (ValidationException e) {
                Console.WriteLine("Wystąpił błąd walidacji odpowiedzi: \n" + e.GetJson());
                return;
            }

            // Przypadek odpowiedzi na zapytanie wysłane przez socket
            if (serializer.CommunicateType == "REQUEST_RESPONSE" || serializer.CommunicateType == "REQUEST_ERROR" || serializer.CommunicateType == "AUTHORIZATION")
            {
                long id = serializer.RequestCode;

                if (OnGoingRequests.ContainsKey(id))
                {
                    Request request = OnGoingRequests[id];
                    request.AttachResponse(serializer.Data);
                    request.ResponseType = serializer.CommunicateType;

                    OnGoingRequests.Remove(id);

                    RequestResponseReceived?.Invoke(this, request);
                }
                else
                {
                    Console.WriteLine("Zapytanie z identyfikatorem nie znalezione: " + id);
                }
            }
            else
            {
                SignalReceived?.Invoke(this, serializer);
            }
        }
コード例 #2
0
 static public void OnSignalReceived(RemoveEventArgs v)
 {
     SignalReceived?.Invoke(null, v);
 }
コード例 #3
0
 static public void OnSignalReceived(InsertEventArgs v)
 {
     SignalReceived?.Invoke(null, v);
 }
コード例 #4
0
 public WorkflowDecision RecordSignal(WorkflowSignaledEvent signal)
 {
     _signalState.RecordSignal(signal.SignalName);
     SignalReceived?.Invoke(this, signal.SignalName);
     return(new WorkflowItemSignalledDecision(ScheduleId.Raw(_data.ScheduleId), _data.TriggerEventId, signal.SignalName, signal.EventId));
 }