public void Handle(UpdateTaskNotifyCommand message) { // Notify back var hub = new TaskZeroHub(message.SignalrConnectionId); hub.NotifyResultOfUpdateTask(message.TaskId, message.Title); }
public void Handle(UpdateTaskCommand message) { // Dehydrates all events from event store for given aggregate var task = Repository.GetById <Task>(message.TaskId); // Check if there are real changes to apply var same = task.IsSameContent(message.Title, message.Description, message.DueDate, message.Priority, message.Status); if (same) { var notifyNoChanges = new NoUpdatesNotifyCommand(message.SignalrConnectionId) { TaskId = task.TaskId, Title = task.Title }; Bus.Send(notifyNoChanges); return; } // Business validation if (!task.CanUpdate(message.Title, message.Description, message.DueDate, message.Priority, message.Status)) { var notifyCantUpdate = new CantUpdateNotifyCommand(message.SignalrConnectionId) { TaskId = task.TaskId, Title = task.Title }; Bus.Send(notifyCantUpdate); return; } // Triggers the UPDATE-GENERAL event task.UpdateModel(message.Title, message.Description, message.DueDate, message.Priority, message.Status); Repository.Save(task); // Notify back var notification = new UpdateTaskNotifyCommand(message.SignalrConnectionId) { TaskId = task.TaskId, Title = task.Title }; Bus.Send(notification); }
public void Handle(UpdateTaskCommand message) { // Dehydrates all events from event store for given aggregate var task = Repository.GetById <Task>(message.TaskId); // Triggers the UPDATE-GENERAL event task.UpdateModel(message.Title, message.Description, message.DueDate, message.Priority, message.Status); Repository.Save(task); // Notify back var notification = new UpdateTaskNotifyCommand(message.SignalrConnectionId) { TaskId = task.TaskId, Title = task.Title }; Bus.Send(notification); }