コード例 #1
0
        public async Task <Command> Write(Actuator actuator, Command command, CancellationTokenSource writeSource)
        {
            Console.WriteLine("Start timer: " + (command.Value.ExecuteDate - DateTime.Now));
            await Task.Delay(command.Value.ExecuteDate - DateTime.Now);

            // Check writeSource token
            if (writeSource.Token.IsCancellationRequested)
            {
                Console.WriteLine("Command was cancelled");
                writeSource.Dispose();
                return(command);
            }

            var result = await _repo.Complete(command.Id);

            if (result == null)
            {
                Console.WriteLine("Command not found");
                return(null);
            }

            // _port.Serial.WriteLine(actuator.Value.Position + ":" + command.Value.Value);
            Console.WriteLine("Completed: " + result.Id);
            return(result);
        }