Пример #1
0
        void DeviceEventsClick(DeviceEventsEventArgs evarg)
        {
            ReleaseViewModels(RegionNames.reg_property);

            var view = container.Resolve <DeviceEventsView>();

            view.Init(evarg);
            view.BindEvents(evarg.events);

            ShowView(view, "deviceevents_view", RegionNames.reg_property);
        }
Пример #2
0
        public override void ButtonClick()
        {
            DeviceEventsEventArgs evargs = new DeviceEventsEventArgs()
            {
                session        = session,
                currentAccount = currentAccount,
                events         = events,
                filters        = filters
            };

            eventAggregator.GetEvent <DeviceEventsClick>().Publish(evargs);
        }
Пример #3
0
        public override void ButtonClick() {
            DeviceEventsEventArgs evargs = new DeviceEventsEventArgs() {
                session = session,
                currentAccount = currentAccount,
                events = events,
				filters = filters
            };
            eventAggregator.GetEvent<DeviceEventsClick>().Publish(evargs);
        }
		void DeviceEventsClick(DeviceEventsEventArgs evarg) {
			ReleaseViewModels(RegionNames.reg_property);

			var view = container.Resolve<DeviceEventsView>();

			view.Init(evarg);
			view.BindEvents(evarg.events);

			ShowView(view, "deviceevents_view", RegionNames.reg_property);
		}
Пример #5
0
        public void Init(DeviceEventsEventArgs evarg)
        {
            this.session = evarg.session;
            this.account = evarg.currentAccount;
            this.filters = evarg.filters;
            this.evarg   = evarg;

            eventAggregator = container.Resolve <EventAggregator>();

            this.CreateBinding(StateCommonProperty, this, x => {
                return(x.Current == States.Common ? Visibility.Visible : Visibility.Collapsed);
            });
            this.CreateBinding(StateLoadingProperty, this, x => {
                return(x.Current == States.Loading ? Visibility.Visible : Visibility.Collapsed);
            });
            this.CreateBinding(StateErrorProperty, this, x => {
                return(x.Current == States.Error ? Visibility.Visible : Visibility.Collapsed);
            });

            Current = States.Loading;
            eventPropSubscription = session.GetEventProperties()
                                    .ObserveOnCurrentDispatcher()
                                    .Subscribe(responce => {
                Current = States.Common;

                if (responce.TopicSet != null && responce.TopicSet.Any != null)
                {
                    ExploreNamespaces(responce.TopicSet.Any);
                }

                List <MessageContentFilter> contList = new List <MessageContentFilter>();
                List <TopicExpressionFilter> topList = new List <TopicExpressionFilter>();

                evarg.filters.Where(f => f.FilterType == FilterExpression.ftype.CONTENT).ForEach(x => {
                    var fex = (FilterExpression)x;
                    contList.Add(new MessageContentFilter()
                    {
                        dialect = fex.Dialect, expression = fex.Value, namespaces = fex.Namespaces
                    });
                });
                evarg.filters.Where(f => f.FilterType == FilterExpression.ftype.TOPIC).ForEach(x => {
                    var fex = (FilterExpression)x;
                    topList.Add(new TopicExpressionFilter()
                    {
                        dialect = fex.Dialect, expression = fex.Value, namespaces = fex.Namespaces
                    });
                });

                ExpressionArguments args = new ExpressionArguments(
                    responce.MessageContentFilterDialect, contList.ToArray(),
                    responce.TopicExpressionDialect, topList.ToArray(),
                    responce.TopicSet, namespaces);

                expressionFilters.Init(args, false);
            }, err => {
                Current      = States.Error;
                ErrorMessage = err.Message;
                dbg.Error(err);
            });

            btnApplyFilters.Click += new RoutedEventHandler((o, e) => {
                // resubscribe to events.
                evarg.filters.Clear();
                expressionFilters.filtersList.ForEach(item => {
                    evarg.filters.Add(item);
                });
                eventAggregator.GetEvent <AddEventsFilterClick>().Publish(evarg);
            });
            //Filter settings
            //ExpressionArguments args = new ExpressionArguments(
            //    model.messageContentFilterDialects, model.messageContentFilters,
            //    model.topicExpressionDialects, model.topicExpressionFilters, model.topicSet, namespaces);
            //expressionFilters.Init(args);
        }