internal override void HandleResourceEvent(EventContext eventcontext) { Logger.Instance.Information(string.Format("[{0}]: HandleResourceEvent: sender: {1}, senderHref: {2}, EventResourceName: {3} EventFullHref: {4}, EventType: {5} ,LoggingContext: {6}", this.GetType().Name, eventcontext.SenderResourceName, eventcontext.SenderHref, eventcontext.EventResourceName, eventcontext.EventFullHref, eventcontext.EventEntity.Relationship.ToString(), eventcontext.LoggingContext == null ? string.Empty : eventcontext.LoggingContext.ToString())); TPlatformResource resource = this.ConvertToPlatformServiceResource <TPlatformResource>(eventcontext);//Will get null for deleted event if (resource != null) { this.PlatformResource = resource; } var eventArgs = new PlatformResourceEventArgs { Operation = eventcontext.EventEntity.Relationship, PlatformResource = resource }; EventHandler <PlatformResourceEventArgs> handler = null; switch (eventcontext.EventEntity.Relationship) { case EventOperation.Updated: handler = HandleResourceUpdated; break; case EventOperation.Completed: handler = HandleResourceCompleted; break; case EventOperation.Deleted: handler = HandleResourceRemoved; break; } handler?.Invoke(this, eventArgs); }
private void RaiseAudioVideoFlowConnectedEventIfConnected(object sender, PlatformResourceEventArgs e) { if (AudioVideoFlow.State == FlowState.Connected) { var eventArgs = new AudioVideoFlowUpdatedEventArgs() { AudioVideoFlow = AudioVideoFlow }; m_audioVideoFlowConnected?.Invoke(this, eventArgs); } }