Beispiel #1
0
        public static async Task <bool> UserLogoutAsync(IPageDialogService dialogService,
                                                        LoginService loginService, SystemStatusService systemStatusService,
                                                        AppStatus appStatus)
        {
            await systemStatusService.ReadFromFileAsync();

            await loginService.ReadFromFileAsync();

            loginService.SingleItem = new LoginResponseDto();
            await loginService.WriteToFileAsync();

            systemStatusService.SingleItem.UserID                 = loginService.SingleItem.Id;
            systemStatusService.SingleItem.Account                = loginService.SingleItem.Account;
            systemStatusService.SingleItem.IsLogin                = false;
            systemStatusService.SingleItem.LoginedTime            = DateTime.Now;
            systemStatusService.SingleItem.Token                  = loginService.SingleItem.Token;
            systemStatusService.SingleItem.RefreshToken           = loginService.SingleItem.RefreshToken;
            systemStatusService.SingleItem.TokenExpireMinutes     = loginService.SingleItem.TokenExpireMinutes;
            systemStatusService.SingleItem.RefreshTokenExpireDays = loginService.SingleItem.RefreshTokenExpireDays;
            systemStatusService.SingleItem.SetExpireDatetime();

            //await systemStatusService.WriteToFileAsync();
            await AppStatusHelper.WriteAndUpdateAppStatus(systemStatusService, appStatus);

            return(true);
        }
Beispiel #2
0
        public static async Task <bool> UserLoginAsync(IPageDialogService dialogService,
                                                       LoginService loginService, SystemStatusService systemStatusService, LoginRequestDto loginRequestDTO,
                                                       AppStatus appStatus)
        {
            var fooResult = await loginService.PostAsync(loginRequestDTO);

            if (fooResult.Status != true)
            {
                await dialogService.DisplayAlertAsync("發生錯誤", fooResult.Message, "確定");

                return(false);
            }

            systemStatusService.SingleItem.UserID                 = loginService.SingleItem.Id;
            systemStatusService.SingleItem.Account                = loginService.SingleItem.Account;
            systemStatusService.SingleItem.IsLogin                = true;
            systemStatusService.SingleItem.LoginedTime            = DateTime.Now;
            systemStatusService.SingleItem.Token                  = loginService.SingleItem.Token;
            systemStatusService.SingleItem.RefreshToken           = loginService.SingleItem.RefreshToken;
            systemStatusService.SingleItem.TokenExpireMinutes     = loginService.SingleItem.TokenExpireMinutes;
            systemStatusService.SingleItem.RefreshTokenExpireDays = loginService.SingleItem.RefreshTokenExpireDays;
            systemStatusService.SingleItem.SetExpireDatetime();

            //await systemStatusService.WriteToFileAsync();
            await AppStatusHelper.WriteAndUpdateAppStatus(systemStatusService, appStatus);

            return(true);
        }
        public ComponentRegistryService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            MessageBusService messageBusService,
            ComponentInitializerFactory componentInitializerFactory,
            PythonEngineService pythonEngineService,
            ILoggerFactory loggerFactory)
        {
            _storageService              = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _messageBusService           = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _componentInitializerFactory = componentInitializerFactory ?? throw new ArgumentNullException(nameof(componentInitializerFactory));

            _messageBusProxy = new ComponentRegistryMessageBusProxy(messageBusService);

            pythonEngineService.RegisterSingletonProxy(new ComponentRegistryPythonProxy(this));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <ComponentRegistryService>();

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("component_registry.count", () => _components.Count);
        }
Beispiel #4
0
        public void SystemStatusServiceAction(SystemStatusService obj)
        {
            if (Vehicles != null)
            {
                var vehicle = Vehicles.FirstOrDefault(v => v.ID == obj.VehicleId) as GuiQuadVehicle ??
                              AddVehicle(obj.VehicleId);

                vehicle.SetArm(obj.Armed);
                vehicle.SetMode(obj.Mode);

                vehicle.QuadStatus.BatteryVoltage       = obj.BatteryVoltage;
                vehicle.QuadStatus.BatteryRemaining     = obj.BatteryRemaining;
                vehicle.QuadStatus.BatteryCurrent       = obj.BatteryCurrent;
                vehicle.QuadStatus.Landed               = obj.Landed;
                vehicle.QuadStatus.Failsafe             = obj.Failsafe;
                vehicle.QuadStatus.ErrorQuad.Gps        = obj.Gps;
                vehicle.QuadStatus.ErrorQuad.Gyro       = obj.Gyro;
                vehicle.QuadStatus.ErrorQuad.Accel      = obj.Accel;
                vehicle.QuadStatus.ErrorQuad.Compass    = obj.Compass;
                vehicle.QuadStatus.ErrorQuad.Baro       = obj.Baro;
                vehicle.QuadStatus.ErrorQuad.OptFlow    = obj.OptFlow;
                vehicle.QuadStatus.ErrorQuad.Rc         = obj.Rc;
                vehicle.QuadStatus.ErrorQuad.Battery    = obj.Battery;
                vehicle.QuadStatus.ErrorQuad.Hdop       = obj.Hdop;
                vehicle.QuadStatus.ErrorQuad.Satellites = obj.Satellites;
            }
        }
Beispiel #5
0
        public ComponentRegistryService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            MessageBusService messageBusService,
            AppService appService,
            ComponentInitializerService componentInitializerService,
            ILogger <ComponentRegistryService> logger)
        {
            _storageService              = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _messageBusService           = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _componentInitializerService = componentInitializerService ?? throw new ArgumentNullException(nameof(componentInitializerService));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            _messageBusWrapper = new ComponentRegistryMessageBusWrapper(messageBusService);

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("component_registry.count", () => _components.Count);

            if (appService is null)
            {
                throw new ArgumentNullException(nameof(appService));
            }
            appService.RegisterStatusProvider("components", () =>
            {
                return(GetComponents().Select(c => ComponentsController.CreateComponentModel(c)));
            });
        }
Beispiel #6
0
        public MessageBusService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            DiagnosticsService diagnosticsService,
            SystemCancellationToken systemCancellationToken,
            ILogger <MessageBusService> logger)
        {
            _systemCancellationToken = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            if (storageService == null)
            {
                throw new ArgumentNullException(nameof(storageService));
            }
            storageService.TryReadOrCreate(out _options, MessageBusServiceOptions.Filename);

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter        = diagnosticsService.CreateOperationsPerSecondCounter("message_bus.inbound_rate");
            _processingRateCounter = diagnosticsService.CreateOperationsPerSecondCounter("message_bus.processing_rate");

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("message_bus.queued_messages_count", () => _messageQueue.Count);
            systemStatusService.Set("message_bus.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("message_bus.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("message_bus.processing_rate", () => _processingRateCounter.Count);
        }
Beispiel #7
0
        public static async Task <bool> WriteAndUpdateAppStatus(SystemStatusService systemStatusService, AppStatus appStatus)
        {
            await systemStatusService.WriteToFileAsync();

            appStatus.SystemStatus = systemStatusService.SingleItem;
            return(true);
        }
Beispiel #8
0
        public MqttService(
            SystemCancellationToken systemCancellationToken,
            DiagnosticsService diagnosticsService,
            StorageService storageService,
            SystemStatusService systemStatusService,
            ILoggerFactory loggerFactory)
        {
            _systemCancellationToken = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _storageService          = storageService ?? throw new ArgumentNullException(nameof(storageService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <MqttService>();

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter  = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.inbound_rate");
            _outboundCounter = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.outbound_rate");

            systemStatusService.Set("mqtt.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("mqtt.incoming_messages_count", () => _incomingMessages.Count);
            systemStatusService.Set("mqtt.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("mqtt.outbound_rate", () => _outboundCounter.Count);
        }
Beispiel #9
0
        public MqttService(
            SystemCancellationToken systemCancellationToken,
            DiagnosticsService diagnosticsService,
            StorageService storageService,
            SystemStatusService systemStatusService,
            ILogger <MqttService> logger)
        {
            _systemCancellationToken = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _storageService          = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter  = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.inbound_rate");
            _outboundCounter = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.outbound_rate");

            if (systemStatusService is null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("mqtt.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("mqtt.incoming_messages_count", () => _incomingMessages.Count);
            systemStatusService.Set("mqtt.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("mqtt.outbound_rate", () => _outboundCounter.Count);
            systemStatusService.Set("mqtt.connected_clients_count", () => _mqttServer.GetClientStatusAsync().GetAwaiter().GetResult().Count);

            _topicImportManager = new MqttTopicImportManager(this, _logger);
        }
Beispiel #10
0
        public CloudService(StorageService storageService, SystemStatusService systemStatusService, ILogger <CloudService> logger)
        {
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _logger         = logger ?? throw new ArgumentNullException(nameof(logger));

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("cloud.is_connected", () => _isConnected);
            systemStatusService.Set("cloud.bytes_sent", () => _channel?.GetStatistics()?.BytesSent);
            systemStatusService.Set("cloud.bytes_received", () => _channel?.GetStatistics()?.BytesReceived);
            systemStatusService.Set("cloud.connected", () => _channel?.GetStatistics()?.Connected.ToString("O"));
            systemStatusService.Set("cloud.last_message_received", () => _channel?.GetStatistics()?.LastMessageReceived?.ToString("O"));
            systemStatusService.Set("cloud.last_message_sent", () => _channel?.GetStatistics()?.LastMessageSent?.ToString("O"));
            systemStatusService.Set("cloud.messages_received", () => _channel?.GetStatistics()?.MessagesReceived);
            systemStatusService.Set("cloud.messages_sent", () => _channel?.GetStatistics()?.MessagesSent);
            systemStatusService.Set("cloud.malformed_messages_received", () => _channel?.GetStatistics()?.MalformedMessagesReceived);
            systemStatusService.Set("cloud.receive_errors", () => _channel?.GetStatistics()?.ReceiveErrors);
            systemStatusService.Set("cloud.send_errors", () => _channel?.GetStatistics()?.SendErrors);

            _httpClient.BaseAddress = new Uri("http://127.0.0.1:80");

            _cloudMessageSerializer = new CloudMessageSerializer();
            _cloudMessageFactory    = new CloudMessageFactory(_cloudMessageSerializer);
        }
        public ServiceHostService(
            StorageService storageService,
            PackageManagerService repositoryService,
            PythonScriptHostFactoryService pythonScriptHostFactoryService,
            SystemService systemService,
            SystemStatusService systemStatusService,
            ILogger <ServiceHostService> logger)
        {
            _repositoryService = repositoryService ?? throw new ArgumentNullException(nameof(repositoryService));
            _pythonScriptHostFactoryService = pythonScriptHostFactoryService ?? throw new ArgumentNullException(nameof(pythonScriptHostFactoryService));
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _logger         = logger ?? throw new ArgumentNullException(nameof(logger));

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("service_host.service_count", () => _services.Count);

            if (systemService == null)
            {
                throw new ArgumentNullException(nameof(systemService));
            }
            systemService.StartupCompleted += (s, e) =>
            {
                StartDelayedServices();
            };
        }
Beispiel #12
0
 public SystemController(SystemStatusService systemStatusService, SystemService systemService, PackageManagerService packageManagerService, StorageService storageService)
 {
     _systemStatusService   = systemStatusService ?? throw new ArgumentNullException(nameof(systemStatusService));
     _systemService         = systemService ?? throw new ArgumentNullException(nameof(systemService));
     _packageManagerService = packageManagerService ?? throw new ArgumentNullException(nameof(packageManagerService));
     _storageService        = storageService ?? throw new ArgumentNullException(nameof(storageService));
 }
        public MessageBusService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            DiagnosticsService diagnosticsService,
            SystemCancellationToken systemCancellationToken,
            ILogger <MessageBusService> logger)
        {
            _systemCancellationToken = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            if (storageService == null)
            {
                throw new ArgumentNullException(nameof(storageService));
            }
            storageService.SafeReadSerializedValue(out _options, DefaultDirectoryNames.Configuration, MessageBusServiceOptions.Filename);

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter        = diagnosticsService.CreateOperationsPerSecondCounter("message_bus.inbound_rate");
            _processingRateCounter = diagnosticsService.CreateOperationsPerSecondCounter("message_bus.processing_rate");

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("message_bus.queued_messages_count", () => _messageQueue.Count);
            systemStatusService.Set("message_bus.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("message_bus.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("message_bus.processing_rate", () => _processingRateCounter.Count);

            _options.ToString(); // TODO: Remove or add new settings.
        }
        public NotificationsService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            ResourcesService resourcesService,
            PythonEngineService pythonEngineService,
            MessageBusService messageBusService,
            SystemService systemService,
            ILoggerFactory loggerFactory)
        {
            _storageService    = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _resourcesService  = resourcesService ?? throw new ArgumentNullException(nameof(resourcesService));
            _messageBusService = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _systemService     = systemService ?? throw new ArgumentNullException(nameof(systemService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <NotificationsService>();

            pythonEngineService.RegisterSingletonProxy(new NotificationsPythonProxy(this));

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("notifications.count", () =>
            {
                lock (_notifications)
                {
                    return(_notifications.Count);
                }
            });
        }
Beispiel #15
0
        public MqttService(
            PythonEngineService pythonEngineService,
            SystemService systemService,
            DiagnosticsService diagnosticsService,
            StorageService storageService,
            SystemStatusService systemStatusService,
            ILoggerFactory loggerFactory)
        {
            _systemService  = systemService ?? throw new ArgumentNullException(nameof(systemService));
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <MqttService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new MqttPythonProxy(this));

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _inboundCounter  = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.inbound_rate");
            _outboundCounter = diagnosticsService.CreateOperationsPerSecondCounter("mqtt.outbound_rate");

            systemStatusService.Set("mqtt.subscribers_count", () => _subscribers.Count);
            systemStatusService.Set("mqtt.incoming_messages_count", () => _incomingMessages.Count);
            systemStatusService.Set("mqtt.inbound_rate", () => _inboundCounter.Count);
            systemStatusService.Set("mqtt.outbound_rate", () => _outboundCounter.Count);
        }
Beispiel #16
0
        public CloudService(StorageService storageService, SystemStatusService systemStatusService, ILogger <CloudService> logger)
        {
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _logger         = logger ?? throw new ArgumentNullException(nameof(logger));

            if (systemStatusService is null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("cloud.is_connected", () => _isConnected);
            systemStatusService.Set("cloud.connection_error", () => _connectionError?.ToString());
            systemStatusService.Set("cloud.bytes_sent", () => _channel?.GetStatistics()?.BytesSent);
            systemStatusService.Set("cloud.bytes_received", () => _channel?.GetStatistics()?.BytesReceived);
            systemStatusService.Set("cloud.connected", () => _channel?.GetStatistics()?.Connected.ToString("O"));
            systemStatusService.Set("cloud.last_message_received", () => _channel?.GetStatistics()?.LastMessageReceived?.ToString("O"));
            systemStatusService.Set("cloud.last_message_sent", () => _channel?.GetStatistics()?.LastMessageSent?.ToString("O"));
            systemStatusService.Set("cloud.messages_received", () => _channel?.GetStatistics()?.MessagesReceived);
            systemStatusService.Set("cloud.messages_sent", () => _channel?.GetStatistics()?.MessagesSent);
            systemStatusService.Set("cloud.malformed_messages_received", () => _channel?.GetStatistics()?.MalformedMessagesReceived);
            systemStatusService.Set("cloud.receive_errors", () => _channel?.GetStatistics()?.ReceiveErrors);
            systemStatusService.Set("cloud.send_errors", () => _channel?.GetStatistics()?.SendErrors);

            _httpClient.BaseAddress = new Uri("http://127.0.0.1:80");
            // Disable compression for loopback connections
            _httpClient.DefaultRequestHeaders.AcceptEncoding.TryParseAdd("*;q=0");

            _cloudMessageFactory = new CloudMessageFactory(_cloudMessageSerializer);
        }
Beispiel #17
0
        public SchedulerService(
            PythonEngineService pythonEngineService,
            SystemStatusService systemStatusService,
            SystemService systemService,
            StorageService storageService,
            ILoggerFactory loggerFactory)
        {
            _systemService  = systemService ?? throw new ArgumentNullException(nameof(systemService));
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }
            _logger = loggerFactory.CreateLogger <SchedulerService>();

            if (pythonEngineService == null)
            {
                throw new ArgumentNullException(nameof(pythonEngineService));
            }
            pythonEngineService.RegisterSingletonProxy(new SchedulerPythonProxy(this));

            systemStatusService.Set("scheduler.active_threads", () => _activeThreads.Count);
            systemStatusService.Set("scheduler.active_timers", () => _activeTimers.Count);
            systemStatusService.Set("scheduler.active_countdowns", () => _activeCountdowns.Count);
        }
Beispiel #18
0
        public HistoryService(
            ComponentRegistryService componentRegistryService,
            StorageService storageService,
            MessageBusService messageBusService,
            SystemStatusService systemStatusService,
            SystemCancellationToken systemCancellationToken,
            DiagnosticsService diagnosticsService,
            ILogger <HistoryService> logger)
        {
            _componentRegistryService = componentRegistryService ?? throw new ArgumentNullException(nameof(componentRegistryService));
            _storageService           = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _messageBusService        = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _systemCancellationToken  = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }
            _updateRateCounter = diagnosticsService.CreateOperationsPerSecondCounter("history.update_rate");

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("history.component_status.pending_updates_count", _pendingComponentStatusValues.Count);
            systemStatusService.Set("history.component_status.update_rate", () => _updateRateCounter.Count);
            systemStatusService.Set("history.component_status.update_duration", () => _componentStatusUpdateDuration);
        }
Beispiel #19
0
        public NotificationsService(
            StorageService storageService,
            SystemStatusService systemStatusService,
            ResourceService resourcesService,
            MessageBusService messageBusService,
            SystemCancellationToken systemCancellationToken,
            ILogger <NotificationsService> logger)
        {
            _storageService          = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _resourcesService        = resourcesService ?? throw new ArgumentNullException(nameof(resourcesService));
            _messageBusService       = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _systemCancellationToken = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("notifications.count", () =>
            {
                lock (_notifications)
                {
                    return(_notifications.Count);
                }
            });
        }
Beispiel #20
0
 public SystemService(SystemStatusService systemStatusService, ILoggerFactory loggerFactory)
 {
     if (loggerFactory == null)
     {
         throw new ArgumentNullException(nameof(loggerFactory));
     }
     _systemStatusService = systemStatusService ?? throw new ArgumentNullException(nameof(systemStatusService));
     _logger = loggerFactory.CreateLogger <SystemService>();
 }
Beispiel #21
0
        public LogService(StorageService storageService, SystemStatusService systemStatusService)
        {
            _systemStatusService = systemStatusService ?? throw new ArgumentNullException(nameof(systemStatusService));

            if (!storageService.TryReadOrCreate(out _options, LogServiceOptions.Filename))
            {
                _options = new LogServiceOptions();
            }
        }
 public RecordCacheHelper(IPageDialogService dialogService,
                          SystemEnvironmentsService systemEnvironmentsService,
                          SystemStatusService systemStatusService, AppStatus appStatus, RefreshTokenService refreshTokenService)
 {
     this.dialogService             = dialogService;
     this.systemEnvironmentsService = systemEnvironmentsService;
     this.systemStatusService       = systemStatusService;
     this.appStatus           = appStatus;
     this.refreshTokenService = refreshTokenService;
 }
        public LoginPageViewModel(INavigationService navigationService, IPageDialogService dialogService,
                                  LoginService loginService, MyUserService myUserService, SystemStatusService systemStatusService,
                                  AppStatus appStatus, RecordCacheHelper recordCacheHelper)
        {
            this.navigationService   = navigationService;
            this.dialogService       = dialogService;
            this.loginService        = loginService;
            this.myUserService       = myUserService;
            this.systemStatusService = systemStatusService;
            this.appStatus           = appStatus;
            this.recordCacheHelper   = recordCacheHelper;

            #region 登入按鈕命令
            LoginCommand = new DelegateCommand(async() =>
            {
                using (IProgressDialog fooIProgressDialog = UserDialogs.Instance.Loading($"請稍後,使用者登入驗證中...", null, null, true, MaskType.Black))
                {
                    LoginRequestDto loginRequestDTO = new LoginRequestDto()
                    {
                        Account  = Account,
                        Password = Password,
                    };
                    var fooResult = await LoginUpdateTokenHelper.UserLoginAsync(dialogService, loginService, systemStatusService,
                                                                                loginRequestDTO, appStatus);
                    if (fooResult == false)
                    {
                        await dialogService.DisplayAlertAsync("登入驗證失敗", "請重新輸入正確的帳號與密碼", "確定");
                        return;
                    }
                    await recordCacheHelper.RefreshAsync(fooIProgressDialog);
                    #region 取得 使用者清單
                    fooIProgressDialog.Title = "請稍後,取得 使用者清單";
                    await myUserService.ReadFromFileAsync();
                    APIResult apiResult = await myUserService.GetAsync();
                    if (apiResult.Status == true)
                    {
                        await myUserService.WriteToFileAsync();
                    }
                    #endregion
                }

                await navigationService.NavigateAsync("/MDPage/NaviPage/HomePage");
            });
            #endregion

            #region 切換使用者
            SwitchUserCommand = new DelegateCommand <string>(x =>
            {
                Account = x;
            });
            #endregion
        }
        public PythonEngineService(SystemStatusService systemStatusService, ILogger <PythonEngineService> logger)
        {
            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("python_engine.created_script_hosts_count", () => _createdScriptHostsCount);

            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            _logPythonProxy      = new LogPythonProxy(_logger);
            _pythonIOToLogStream = new PythonIOToLogStream(_logger);
        }
 public SplashPageViewModel(INavigationService navigationService, IPageDialogService dialogService,
                            SystemStatusService systemStatusService, SystemEnvironmentsService systemEnvironmentsService,
                            MyUserService myUserService,
                            RecordCacheHelper recordCacheHelper, AppStatus appStatus)
 {
     this.navigationService         = navigationService;
     this.dialogService             = dialogService;
     this.systemStatusService       = systemStatusService;
     this.systemEnvironmentsService = systemEnvironmentsService;
     this.myUserService             = myUserService;
     this.recordCacheHelper         = recordCacheHelper;
     this.appStatus = appStatus;
 }
Beispiel #26
0
        public LogService(StorageService storageService, SystemStatusService systemStatusService)
        {
            _systemStatusService = systemStatusService ?? throw new ArgumentNullException(nameof(systemStatusService));

            if (storageService is null)
            {
                throw new ArgumentNullException(nameof(storageService));
            }
            if (!storageService.SafeReadSerializedValue(out _options, DefaultDirectoryNames.Configuration, LogServiceOptions.Filename))
            {
                _options = new LogServiceOptions();
            }
        }
Beispiel #27
0
 public LogoutCleanHelper(IPageDialogService dialogService,
                          SystemEnvironmentsService systemEnvironmentsService,
                          SystemStatusService systemStatusService, AppStatus appStatus, RefreshTokenService refreshTokenService,
                          ExceptionRecordsService exceptionRecordsService, AppExceptionsService appExceptionsService)
 {
     this.dialogService             = dialogService;
     this.systemEnvironmentsService = systemEnvironmentsService;
     this.systemStatusService       = systemStatusService;
     this.appStatus               = appStatus;
     this.refreshTokenService     = refreshTokenService;
     this.exceptionRecordsService = exceptionRecordsService;
     this.appExceptionsService    = appExceptionsService;
 }
Beispiel #28
0
        public CloudService(StorageService storageService, SystemStatusService systemStatusService, ILogger <CloudService> logger)
        {
            _storageService = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _logger         = logger ?? throw new ArgumentNullException(nameof(logger));

            if (systemStatusService == null)
            {
                throw new ArgumentNullException(nameof(systemStatusService));
            }
            systemStatusService.Set("cloud.is_connected", () => _isConnected);

            _httpClient.BaseAddress = new Uri("http://127.0.0.1:80");
        }
Beispiel #29
0
        public SchedulerService(
            SystemStatusService systemStatusService,
            SystemCancellationToken systemCancellationToken,
            StorageService storageService,
            ILogger <SchedulerService> logger)
        {
            _systemCancellationToken = systemCancellationToken ?? throw new ArgumentNullException(nameof(systemCancellationToken));
            _storageService          = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));

            systemStatusService.Set("scheduler.active_threads", () => _activeThreads.Count);
            systemStatusService.Set("scheduler.active_timers", () => _activeTimers.Count);
            systemStatusService.Set("scheduler.active_countdowns", () => _activeCountdowns.Count);
        }
Beispiel #30
0
        public ComponentGroupRegistryService(
            StorageService storageService,
            SystemStatusService systemInformationService,
            MessageBusService messageBusService,
            ILogger <ComponentGroupRegistryService> logger)
        {
            _storageService    = storageService ?? throw new ArgumentNullException(nameof(storageService));
            _messageBusService = messageBusService ?? throw new ArgumentNullException(nameof(messageBusService));
            _logger            = logger ?? throw new ArgumentNullException(nameof(logger));

            if (systemInformationService == null)
            {
                throw new ArgumentNullException(nameof(systemInformationService));
            }
            systemInformationService.Set("component_group_registry.count", () => _componentGroups.Count);
        }