/// <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); } }
static public void OnSignalReceived(RemoveEventArgs v) { SignalReceived?.Invoke(null, v); }
static public void OnSignalReceived(InsertEventArgs v) { SignalReceived?.Invoke(null, v); }
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)); }