Esempio n. 1
0
        public ReceiverViewModel(Receiver dataItem)
        {
            Closable     = true;
            DataItem     = dataItem;
            DisplayName  = DataItem.DisplayName;
            PortNumber   = DataItem.PortNumber;
            ReceiverType = DataItem.ReceiverType;
            IpAddress    = DataItem.IpAddress;
            Broadcast    = DataItem.Broadcast;
            Encoding     = DataItem.Encoding;

            SaveCommand          = new TaskCommand(SaveExecute, d => !IsActive && CanSave);
            ToggleCommand        = new TaskCommand(ToggleExecute, d => !CanSave || IsActive);
            ClearMessagesCommand = new TaskCommand(ClearMessagesExecute, d => Messages.Count > 0);
            Encodings            = new ObservableCollection <SelectorOption <Encoding> >(EncodingOptionsFactory.GetAll());

            WhenPropertyChanged.Subscribe(name =>
            {
                if (new[] { nameof(DisplayName), nameof(PortNumber), nameof(ReceiverType), nameof(IpAddress), nameof(Broadcast), nameof(Encoding) }.Contains(name))
                {
                    CanSave = true;
                }

                if (name == nameof(IsActive))
                {
                    OnPropertyChanged(nameof(ToggleMessage));
                }
            });
        }
Esempio n. 2
0
        public TransmitterViewModel(Transmitter dataItem, IDialogService dialogService, MainViewModel mainViewModel)
        {
            DataItem       = dataItem;
            _dialogService = dialogService;
            _mainViewModel = mainViewModel;

            Closable        = true;
            DisplayName     = DataItem.DisplayName;
            PortNumber      = DataItem.PortNumber;
            TransmitterType = DataItem.TransmitterType;
            Broadcast       = DataItem.Broadcast;
            IpAddress       = DataItem.IpAddress;
            Encoding        = DataItem.Encoding;

            SaveCommand       = new TaskCommand(SaveExecute, d => !IsActive && CanSave);
            ToggleCommand     = new TaskCommand(ToggleExecute, d => !CanSave || IsActive);
            NewMessageCommand = new TaskCommand(NewMessageExecute);
            ClearLogCommand   = new TaskCommand(ClearLogExecute, d => Messages.Count > 0);
            Encodings         = new ObservableCollection <SelectorOption <Encoding> >(EncodingOptionsFactory.GetAll());

            WhenPropertyChanged.Subscribe(name =>
            {
                if (new[] { nameof(DisplayName), nameof(PortNumber), nameof(TransmitterType), nameof(Broadcast), nameof(IpAddress), nameof(Encoding) }.Contains(name))
                {
                    CanSave = true;
                }

                if (name == nameof(IsActive))
                {
                    OnPropertyChanged(nameof(ToggleMessage));
                }
            });
        }
Esempio n. 3
0
 public void SubscribeIsNotOK(double notOKDelayAlarmTime)
 {
     if (isNotOKChangedSubscription != null)
     {
         isNotOKChangedSubscription.Dispose();
     }
     isNotOKChangedSubscription = WhenPropertyChanged.Where(o => o.ToString() == "IsNotOK").Throttle(TimeSpan.FromMilliseconds(notOKDelayAlarmTime)).Subscribe(OnIsNotOKChanged);
 }
Esempio n. 4
0
 public void SubscribeAlarmGrade(double alarmDelay)
 {
     if (alarmGradeChangedSubscription != null)
     {
         alarmGradeChangedSubscription.Dispose();
     }
     alarmGradeChangedSubscription = WhenPropertyChanged.Where(o => o.ToString() == "AlarmGrade").Throttle(TimeSpan.FromMilliseconds(alarmDelay)).Subscribe(OnAlarmGradeChanged);
 }
Esempio n. 5
0
        public MainRegionViewModel(ILocalConfiguration localConfiguration, IRegionManager regionManager, IEventAggregator eventAggregator, ILoginUserService loginUserService, IUserManageService userManageService, ISignalProcess signalProcess)
        {
            _localConfiguration = localConfiguration;
            _regionManager      = regionManager;
            _eventAggregator    = eventAggregator;
            _loginUserService   = loginUserService;
            _userManageService  = userManageService;
            _signalProcess      = signalProcess;

            ThemeManager.AddAppTheme("BaseGray", new Uri("pack://application:,,,/AIC.Resources;component/Styles/BaseGray.xaml"));

            // create accent color menu items for the demo
            this.AccentColors = ThemeManager.Accents
                                .Select(a => new AccentColorMenuData()
            {
                Name = a.Name, ColorBrush = a.Resources["AccentColorBrush"] as Brush
            })
                                .ToList();


            // create metro theme color menu items for the demo
            this.AppThemes = ThemeManager.AppThemes
                             .Select(a => new AppThemeMenuData()
            {
                Name = a.Name, BorderColorBrush = a.Resources["BlackColorBrush"] as Brush, ColorBrush = a.Resources["WhiteColorBrush"] as Brush
            })
                             .ToList();

            MenuManageList = _loginUserService.MenuManageList;
            ExceptionModel = _loginUserService.ExceptionModel;

            readDataTimer.Tick    += new EventHandler(timeCycle);
            readDataTimer.Interval = new TimeSpan(0, 0, 0, 1);
            readDataTimer.Start();

            WhenPropertyChanged.Where(o => o.ToString() == "Alarm").Subscribe(OnAlarmGradeChanged);

            _eventAggregator.GetEvent <LoginEvent>().Subscribe(LoginFinishEvent);

            getTree();
        }
Esempio n. 6
0
        public DataObject()
        {
            Rules.Add(new DelegateRule <DataObject>("CompletionText", "Completion Text can not be empty!", x => !string.IsNullOrEmpty(x.CompletionText)));

            settings = new Settings();

            TargetDate          = settings.TargetDate;
            TextColor           = settings.TextColor;
            ShadowColor         = settings.ShadowColor;
            MinimumLevel        = settings.MinimumLevel;
            MaximumLevel        = settings.MaximumLevel;
            CompletionText      = settings.CompletionText;
            CountdownFontSize   = settings.CountdownFontSize;
            CountdownFontFamily = settings.CountdownFontFamily;
            MonitorList         = new ObservableCollection <string>();
            foreach (var m in Monitor.AllMonitors)
            {
                MonitorList.Add(m.Name.TrimStart(new char[] { '\\', '.' }) + (m.IsPrimary ? " (Primary)" : ""));
            }
            SelectedMonitor = settings.SelectedMonitor;

            WhenPropertyChanged.Where(x => settingsProperties.Contains(x)).Subscribe(x => saveProperties());
        }