Пример #1
0
        /// <summary>
        /// Executes the command synchronously.
        /// </summary>
        private void Execute(SavedCommand serialized)
        {
            serialized.SendStarted = DateTimeOffset.UtcNow;
            serialized.SendStatus  = "Started";
            _store.Save(serialized, false);

            Execute(serialized.Command);

            serialized.SendCompleted = DateTimeOffset.UtcNow;
            serialized.SendStatus    = "Completed";
            _store.Save(serialized, false);
        }
Пример #2
0
        /// <summary>
        /// Schedules the command for asynchronous execution.
        /// </summary>
        public void Schedule(ICommand command, DateTimeOffset at)
        {
            Identify(command);

            var serialized = new SavedCommand(command)
            {
                SendScheduled = at,
                SendStatus    = "Scheduled"
            };

            _store.Save(serialized, true);
        }
Пример #3
0
        /// <summary>
        /// Executes the command synchronously.
        /// </summary>
        public void Send(ICommand command)
        {
            Identify(command);

            SavedCommand savedCommand = null;

            if (_saveAll)
            {
                savedCommand = new SavedCommand(command)
                {
                    SendStarted = DateTimeOffset.UtcNow
                };
            }

            Execute(command);

            if (_saveAll && savedCommand != null)
            {
                savedCommand.SendCompleted = DateTimeOffset.UtcNow;
                savedCommand.SendStatus    = "Completed";
                _store.Save(savedCommand, true);
            }
        }