Esempio n. 1
0
        public UpdateStatusValidator(IStateService stateService)
        {
            RuleFor(u => u.Running).MustAsync(async (status, current, token) => await stateService.IsRunning() != current);
            RuleFor(u => u.Running).NotEqual(true)
                .WhenAsync(async (status, token) => !await stateService.CanStart());

        }
Esempio n. 2
0
        public async Task <StatusVm> Handle(GetStatus request, CancellationToken cancellationToken)
        {
            var runningTask  = _stateService.IsRunning();
            var canStartTask = _stateService.CanStart();

            await Task.WhenAll(runningTask, canStartTask);

            return(new StatusVm
            {
                Running = runningTask.Result,
                CanStart = canStartTask.Result
            });
        }