/// <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); }
/// <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); }
/// <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); } }