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);
        }
Example #2
0
        private void RaiseAudioVideoFlowConnectedEventIfConnected(object sender, PlatformResourceEventArgs e)
        {
            if (AudioVideoFlow.State == FlowState.Connected)
            {
                var eventArgs = new AudioVideoFlowUpdatedEventArgs()
                {
                    AudioVideoFlow = AudioVideoFlow
                };

                m_audioVideoFlowConnected?.Invoke(this, eventArgs);
            }
        }