コード例 #1
0
        // 請使用 ObservableRangeCollection 來取代 ObservableCollection,
        // 主要是在實作refresh data 這功能時,使用此類別的ReplaceRange method可以避免DataGrid 跳動
        //private ObservableRangeCollection<Device> _devicesCollection;
        //private static object _lock = new object();

        // TODO: BUG...DateTime always 以 en-US 呈現
        public AlarmsViewModel(
            ICollectionModel <eventwarn> dataModel,
            IDeviceDataService deviceDataService,
            IDialogService dialogService,
            IPrintService printService)
        {
            this._dialogService     = dialogService;
            this._deviceDataService = deviceDataService;
            this._dataModel         = dataModel;
            this._printService      = printService;
            //this._dataModel.Data.CollectionChanged += _dataCollection_CollectionChanged;
            Alarms = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_dataModel.Data);
            Alarms.CurrentChanged += Alarms_CurrentChanged;
            Messenger.Default.Register <ReceivedAlarm>(this, (msg) =>
            {
                if (msg.Alarms != null)
                {
                    var seriousAlarmEvents = (from alarm in msg.Alarms
                                              where alarm.action == "trig"
                                              select alarm).ToList();
                    if (seriousAlarmEvents.Count() > 0)
                    {
                        this._dialogService.ShowAlarmDialog(/*seriousAlarmEvents*/);
                    }
                }
            });

            RefreshCommand.Execute(null);
        }
コード例 #2
0
        // private System.Windows.Forms.Form _parentForm;

        private VideoTalkService(
            IDeviceDataService deviceDataService,
            IDataService <leaveword> videoMessageDataService)
        {
            this._deviceDataService       = deviceDataService;
            this._videoMessageDataService = videoMessageDataService;
        }
コード例 #3
0
 public DialogExportCardListViewModel(
     IDeviceDataService deviceDataService,
     IDialogService dialogService)
 {
     _deviceDataService = deviceDataService;
     _dialogService     = dialogService;
 }
コード例 #4
0
 public LocationService(ILocationDataService locationDataService, IMapper mapper,
                        IDeviceDataService deviceDataService)
 {
     this.locationDataService = locationDataService;
     this.mapper            = mapper;
     this.deviceDataService = deviceDataService;
 }
コード例 #5
0
 public JobViewModel(IConnectionService connectionService,
                     INavigationService navigationService,
                     IDialogService dialogService,
                     ISettingsService settingsService,
                     IJobDataService jobService,
                     IButoaneService butoaneService,
                     IPauseService pauseService,
                     IJobEfficiencyService jobEfficiency,
                     IMasiniService masiniService,
                     IUsersDataService usersDataService,
                     IDeviceDataService deviceDataService,
                     ICommessaTimService commessaService,
                     IComenziService comenziService) :
     base(connectionService, navigationService, dialogService)
 {
     _jobEfficiency          = jobEfficiency;
     _settingsService        = settingsService;
     _jobService             = jobService;
     _butoaneService         = butoaneService;
     _pauseService           = pauseService;
     _masiniService          = masiniService;
     _usersService           = usersDataService;
     _deviceDataService      = deviceDataService;
     _commessaService        = commessaService;
     _comenziService         = comenziService;
     _workPermitOverQuantity = false;
 }
コード例 #6
0
        public HomeViewModel(IConnectionService connectionService,
                             INavigationService navigationService,
                             IDialogService dialogService,
                             IUsersDataService usersService,
                             ISettingsService settingsService,
                             IMasiniService masiniService,
                             IComenziService orderService,
                             IArticoleService articleService,
                             IPhaseService phaseService,
                             IJobDataService jobDataService,
                             IDeviceDataService deviceDataService,
                             IDeviceInfoService deviceInfoService)

            : base(connectionService, navigationService, dialogService)
        {
            _masiniService     = masiniService;
            _settingsService   = settingsService;
            _orderService      = orderService;
            _articleService    = articleService;
            _phaseService      = phaseService;
            _jobDataService    = jobDataService;
            _usersService      = usersService;
            _deviceDataService = deviceDataService;
            _deviceInfoService = deviceInfoService;
        }
コード例 #7
0
 public ProccessMessageService(IDeviceDataService deviceDataService,
                               ISpellCheckService spellCheckService,
                               ITranslationService translationService)
 {
     _deviceDataService  = deviceDataService;
     _spellCheckService  = spellCheckService;
     _translationService = translationService;
 }
コード例 #8
0
 public AbstractLuisDialog(IDeviceDataService deviceDataService,
                           ISpellCheckService spellCheckService,
                           IMessageBuilderService messageBuilderService)
 {
     DeviceDataService     = deviceDataService;
     SpellCheckService     = spellCheckService;
     MessageBuilderService = messageBuilderService;
 }
コード例 #9
0
 public RootDialog(IDeviceDataService deviceDataService,
                   ISpellCheckService spellCheckService,
                   IMessageBuilderService messageBuilderService)
 {
     _deviceDataService     = deviceDataService;
     _spellCheckService     = spellCheckService;
     _messageBuilderService = messageBuilderService;
 }
コード例 #10
0
        // Constructor
        public CreateDeviceViewModel() : base()
        {
            // Services initialiseren
            _deviceDataService     = (IDeviceDataService)AppContainer.Instance.Resolve(typeof(IDeviceDataService));
            _deviceTypeDataService = (IDeviceTypeDataService)AppContainer.Instance.Resolve(typeof(IDeviceTypeDataService));

            InitCommands();
            LoadDeviceTypes();
        }
コード例 #11
0
        //private ICollectionModel<Room> _roomDataModel;

        public DevicesModel(
            IDeviceDataService dataService) : base(dataService)
        {
            this._refillTimer = new Timer(new TimerCallback(delegate
            {
                Application.Current.Dispatcher.Invoke(() => RefillDataAction.Defer(_refillDelay));
            }));
            this._refillTimer.Change(TimeSpan.FromMilliseconds(250), TimeSpan.FromMilliseconds(1000));
        }
コード例 #12
0
        // Constructor
        public SolvedIncidentsViewModel() : base()
        {
            // Services initialiseren
            _occurredIncidentDataService = (IOccurredIncidentDataService)AppContainer.Instance.Resolve(typeof(IOccurredIncidentDataService));
            _deviceDataService           = (IDeviceDataService)AppContainer.Instance.Resolve(typeof(IDeviceDataService));
            _userDataService             = (IUserDataService)AppContainer.Instance.Resolve(typeof(IUserDataService));

            InitCommands();
            LoadSolvedOccurredIncidents();
        }
コード例 #13
0
 public DevicesController(IDeviceSyncService deviceSyncService,
                          IDeviceDataService deviceDataService,
                          IPushSyncService pushSyncService,
                          ILogger <DevicesController> logger)
 {
     _deviceSyncService = deviceSyncService;
     _deviceDataService = deviceDataService;
     _pushSyncService   = pushSyncService;
     _logger            = logger;
 }
コード例 #14
0
        public DeviceDetailViewModel(IDeviceDataService deviceDataService, IProblemDataService problemDataService, IDialogService dialogService)
        {
            this.deviceDataService  = deviceDataService;
            this.problemDataService = problemDataService;
            this.dialogService      = dialogService;

            LoadCommands();

            Messenger.Default.Register <OpenDetailViewMessage>(this, OnNewDeviceWindow, ViewType.Device);
            Messenger.Default.Register <Device>(this, OnDeviceReceived, ViewType.DeviceType);
        }
コード例 #15
0
        public DeviceOverviewViewModel(IDeviceDataService deviceDataService, IDialogService dialogService)
        {
            this.deviceDataService = deviceDataService;
            this.dialogService     = dialogService;

            LoadData();
            LoadCommands();

            Messenger.Default.Register <UpdateListMessage>(this, OnUpdateListMessageReceived, ViewType.Device);
            Messenger.Default.Register <OpenOverviewMessage>(this, OnDeviceOverviewOpened, ViewType.Device);
        }
コード例 #16
0
        public DeviceTypeDetailViewModel(IDeviceDataService deviceDataService, IDeviceTypeDataService deviceTypeDataService, IDialogService dialogService)
        {
            this.deviceDataService     = deviceDataService;
            this.deviceTypeDataService = deviceTypeDataService;
            this.dialogService         = dialogService;

            LoadCommands();

            Messenger.Default.Register <OpenDetailViewMessage>(this, OnNewDeviceTypeWindow, ViewType.DeviceType);
            Messenger.Default.Register <DeviceType>(this, OnDeviceTypeReceived, ViewType.DeviceType); // TO DO: use OpenDetailViewMessage, but pass DeviceType with it
            Messenger.Default.Register <EmployeeDataService>(this, OnCurrentEmployeeReceived, ViewType.DeviceType);
        }
コード例 #17
0
ファイル: MenuViewModel.cs プロジェクト: AerreRomania/Tablets
 public MenuViewModel(IConnectionService connectionService,
                      INavigationService navigationService,
                      IDialogService dialogService,
                      ISettingsService settingsService,
                      IUsersDataService usersDataService, IDeviceDataService deviceDataService)
     : base(connectionService, navigationService, dialogService)
 {
     _settingsService   = settingsService;
     _userDataService   = usersDataService;
     _deviceDataService = deviceDataService;
     MenuItems          = new ObservableCollection <MainMenuItem>();
     LoadMenuItems();
 }
コード例 #18
0
        public DialogInputIPAddressValidator(IDeviceDataService dataService)
        {
            this.dataService = dataService;
            this.CascadeMode = CascadeMode.StopOnFirstFailure;  // 宣告一個 RuleFor 有多個檢查條件時,只要檢查到第一個錯就停止往下檢查。

            RuleFor(input => input.IPAddress)
            .NotEmpty()
            .WithMessage(ipAddressProperty + "欄位不可是空白")
            .Must(ip => IpRegex.IsMatch(ip))
            .WithMessage(ipAddressProperty + "欄位格式不正確")
            .Must(ip => IPAddressExists(ip))
            .WithMessage("不存在此" + ipAddressProperty);
        }
コード例 #19
0
        public DeviceValidator(IDeviceDataService dataService)
        {
            this.dataService = dataService;
            this.CascadeMode = CascadeMode.StopOnFirstFailure;  // 宣告一個 RuleFor 有多個檢查條件時,只要檢查到第一個錯就停止往下檢查。

            RuleFor(device => device.IPAddress)
            .NotEmpty()
            .WithMessage(ipAddressProperty + "欄位不可是空白")
            .Must(ip => IpRegex.IsMatch(ip))
            .WithMessage(ipAddressProperty + "欄位格式不正確")
            .Must((device, ip) => IsUniqueIPAddress(device, ip))
            .WithMessage("已存在重複的" + ipAddressProperty);

            RuleFor(device => device.Gateway)
            .NotEmpty()
            .WithMessage(gatewayProperty + "欄位不可是空白")
            .Must(ip => IpRegex.IsMatch(ip))
            .WithMessage(gatewayProperty + "欄位格式不正確");

            RuleFor(device => device.SubnetMask)
            .NotEmpty()
            .WithMessage(subnetMaskProperty + "欄位不可是空白")
            .Must(ip => IsValidIPAddress(ip))
            .WithMessage(subnetMaskProperty + "欄位格式不正確");

            RuleFor(device => device.DeviceAddress)
            .NotEmpty()
            .WithMessage(deviceAddressProperty + "欄位不可是空白")
            .Must(deviceAddress => IsValidDeviceAddress(deviceAddress))
            .WithMessage(deviceAddressProperty + "欄位格式不正確")
            .Must((device, deviceAddress) => IsUniqueDeviceAddress(device, deviceAddress))
            .WithMessage("已存在重複的" + deviceAddressProperty);

            RuleFor(device => device.IPCamID)
            .NotEmpty()
            .WithMessage(ipCamIDProperty + "欄位不可是空白")
            .When(device => device.DeviceType == (int)DeviceType.IPCAM);

            RuleFor(device => device.IPCamPassword)
            .NotEmpty()
            .WithMessage(ipCamPasswordProperty + "欄位不可是空白")
            .When(device => device.DeviceType == (int)DeviceType.IPCAM);

            RuleFor(device => device.DeviceType)
            .Must((device, deviceType) => IsUniqueControlServer(device))
            .WithMessage("控制伺服器只能有一台")
            .When(device => device.DeviceType == (int)DeviceType.Control_Server);
        }
コード例 #20
0
 public DialogImportCardListViewModel(
     ICollectionModel <iccard> cardsModel,
     IDataService <iccard> securityCardDataService,
     IDataService <icmap> securityCardDeviceDataService,
     IDeviceDataService deviceDataService,
     IDialogService dialogService,
     Action afterImportedCallback = null)
 {
     _securityCardDataService       = securityCardDataService;
     _securityCardDeviceDataService = securityCardDeviceDataService;
     _deviceDataService             = deviceDataService;
     _cardsModel            = cardsModel;
     _dialogService         = dialogService;
     _afterImportedCallback = afterImportedCallback;
     IsUpdating             = false;
 }
コード例 #21
0
        //private ISecurityCardUnrelatedDevicesModel _securityCardUnrelatedDevicesDataModel;

        /// <summary>
        /// Initializes a new instance of the SecurityCardViewModel class.
        /// </summary>
        public SecurityCardViewModel(
            IValidator <SecurityCardViewModel> validator,
            ICollectionModel <iccard> dataModel,
            IDataService <icmap> securityCardDeviceDataService,
            IDeviceDataService deviceDataService,
            IDialogService dialogService,
            iccard data = null) : base(validator, dataModel, data)
        {
            Init();

            this._securityCardDeviceDataService = securityCardDeviceDataService;
            this._deviceDataService             = deviceDataService;
            this._dialogService = dialogService;

            RefreshCommand.Execute(null);
        }
コード例 #22
0
        public SecurityCardsViewModel(
            ICollectionModel <iccard> dataModel,
            IDeviceDataService deviceDataService,
            ISecurityCardsDevicesModel securityCardsDevicesDataModel,
            IDialogService dialogService)
        {
            this._deviceDataService = deviceDataService;
            this._dialogService     = dialogService;
            this._dataModel         = dataModel;
            this._dataModel.Data.CollectionChanged += _dataCollection_CollectionChanged;
            this._securityCardsDevicesDataModel     = securityCardsDevicesDataModel;

            SecurityCards = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_dataModel.Data);
            SecurityCards.CurrentChanged += SecurityCards_CurrentChanged;
            Devices = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_securityCardsDevicesDataModel.Data);

            RefreshCommand.Execute(null);
        }
コード例 #23
0
        public ResidentValidator(IDeviceDataService dataService)
        {
            this.dataService = dataService;
            this.CascadeMode = CascadeMode.StopOnFirstFailure;  // 宣告一個 RuleFor 有多個檢查條件時,只要檢查到第一個錯就停止往下檢查。

            RuleFor(device => device.Name)
            .NotEmpty()
            .WithMessage(nameProperty + "欄位不可是空白")
            .Length(2, 50)
            .WithMessage(nameProperty + "欄位字元個數必須在2~50個之間");

            //RuleFor(device => device.DeviceAddress)
            //    .NotEmpty()
            //    .WithMessage(deviceAddressProperty + "欄位不可是空白")
            //    .Must(deviceAddress => IsValidDeviceAddress(deviceAddress))
            //    .WithMessage(deviceAddressProperty + "欄位格式不正確")
            //    .Must((device, deviceAddress) => IsUniqueDeviceAddress(device, deviceAddress))
            //    .WithMessage("已存在重複的" + deviceAddressProperty);
        }
コード例 #24
0
 public ManichinoViewModel(IConnectionService connectionService,
                           INavigationService navigationService,
                           IDialogService dialogService,
                           ISettingsService settingsService,
                           IJobDataService jobService,
                           IButoaneService butoaneService,
                           IPauseService pauseService,
                           IJobEfficiencyService jobEfficiency,
                           IMasiniService masiniService,
                           IUsersDataService usersDataService,
                           IDeviceDataService deviceDataService)
     : base(connectionService, navigationService, dialogService)
 {
     _jobEfficiency     = jobEfficiency;
     _settingsService   = settingsService;
     _jobService        = jobService;
     _butoaneService    = butoaneService;
     _pauseService      = pauseService;
     _masiniService     = masiniService;
     _usersDataService  = usersDataService;
     _deviceDataService = deviceDataService;
 }
コード例 #25
0
        public FormVideoTalkViewModel(
            IDeviceDataService _dataService,
            IDialogService dialogService)
        {
            this._dialogService = dialogService;
            this._dataService   = _dataService;
            VideoTalkService.Instance.ReceivedIncomingCallEvent        += _videoTalkService_ReceivedIncomingCallEvent;
            VideoTalkService.Instance.AcceptedIncomingCallEvent        += _videoTalkService_AcceptedIncomingCallEvent;
            VideoTalkService.Instance.ReceivedNewVideoMessageEvent     += _videoTalkService_ReceivedNewVideoMessageEvent;
            VideoTalkService.Instance.VideoMessageHasBeenReadEvent     += _videoTalkService_VideoMessageHasBeenReadEvent;
            VideoTalkService.Instance.ReceivedHangUpEvent              += _videoTalkService_ReceivedHangUpEvent;
            VideoTalkService.Instance.ReceivedOutgoingCallTimeoutEvent += _videoTalkService_ReceivedOutgoingCallTimeoutEvent;
            //this._videoTalkService = videoTalkService;
            this._RingTimeoutAction = new TimeoutAction(() =>
            {
                CallState callState;

                lock (m_SyncRoot)
                {
                    callState = this.CallState;
                }
                switch (callState)
                {
                case CallState.ReceivedIncomingCall:
                    Application.Current.Dispatcher.Invoke(() =>
                    {
                        this.HangUpCommand.Execute(null);
                    });
                    break;

                case CallState.Calling:
                    Application.Current.Dispatcher.Invoke(() =>
                    {
                        this.HangUpCommand.Execute(null);
                        Messenger.Default.Send(new ReceivedOutgoingCallTimeoutEvent());
                    });
                    break;
                }
            });
            this._TalkTimeoutAction = new TimeoutAction(() =>
            {
                CallState callState;

                lock (m_SyncRoot)
                {
                    callState = this.CallState;
                }

                switch (callState)
                {
                case CallState.AcceptedIncomingCall:
                    Application.Current.Dispatcher.Invoke(() =>
                    {
                        this.HangUpCommand.Execute(null);
                    });
                    break;

                case CallState.WatchingLiveVideo:
                    Application.Current.Dispatcher.Invoke(() =>
                    {
                        this.StopWatchLiveVideoCommand.Execute(null);
                    });
                    break;
                }
            });
        }
コード例 #26
0
 public IndexModel(IDeviceDataService deviceDataService)
 {
     _deviceDataService = deviceDataService;
 }
コード例 #27
0
 public DeviceDataCollectProccess(IDeviceDataService deviceDataService)
 {
     _deviceDataService = deviceDataService;
 }
コード例 #28
0
 public DeviceService(IDeviceTypeDataService deviceTypeDataService, IDeviceDataService deviceDataService)
 {
     this.deviceTypeDataService = deviceTypeDataService;
     this.deviceDataService     = deviceDataService;
 }
コード例 #29
0
 public TempMointorController(IDeviceDataService deviceDataService)
 {
     _deviceDataService = deviceDataService;
 }
コード例 #30
0
 public GermanLuisDialog(IDeviceDataService deviceDataService,
                         ISpellCheckService spellCheckService,
                         IMessageBuilderService messageBuilderService)
     : base(deviceDataService, spellCheckService, messageBuilderService)
 {
 }