$mermaidjs
Clean Architecture Demo
Loading...
Searching...
No Matches
DomainEvent.cs
Go to the documentation of this file.
1// TaskManagement.Domain/Events/DomainEvent.cs
3
5
44public abstract class DomainEvent
45{
46 public Guid Id { get; } = Guid.NewGuid();
47 public DateTime OccurredOn { get; } = DateTime.UtcNow;
48}
49
51{
52 public Guid TaskId {
53 get;
54 }
55 public string Title {
56 get;
57 }
58 public Guid CreatedBy {
59 get;
60 }
61 public TaskCreatedEvent(Guid taskId, string title, Guid createdBy)
62 {
63 TaskId = taskId;
64 Title = title;
65 CreatedBy = createdBy;
66 }
67}
68
70{
71 public Guid TaskId {
72 get;
73 }
74 public DateTime CompletedAt {
75 get;
76 }
77 public TaskCompletedEvent(Guid taskId, DateTime completedAt)
78 {
79 TaskId = taskId;
80 CompletedAt = completedAt;
81 }
82}
83
85{
86 public Guid TaskId {
87 get;
88 }
89 public Guid AssignedTo {
90 get;
91 }
92 public Guid? PreviousAssignee {
93 get;
94 }
95 public TaskAssignedEvent(Guid taskId, Guid assignedTo, Guid? previousAssignee)
96 {
97 TaskId = taskId;
98 AssignedTo = assignedTo;
99 PreviousAssignee = previousAssignee;
100 }
101}
102
104{
105 public Guid TaskId {
106 get;
107 }
109 get;
110 }
112 get;
113 }
114 public TaskPriorityChangedEvent(Guid taskId, TaskPriority oldPriority, TaskPriority newPriority)
115 {
116 TaskId = taskId;
117 OldPriority = oldPriority;
118 NewPriority = newPriority;
119 }
120}
DomainEvent es una clase base abstracta para todos los eventos del dominio en el sistema.
TaskAssignedEvent(Guid taskId, Guid assignedTo, Guid? previousAssignee)
TaskCompletedEvent(Guid taskId, DateTime completedAt)
TaskCreatedEvent(Guid taskId, string title, Guid createdBy)
TaskPriorityChangedEvent(Guid taskId, TaskPriority oldPriority, TaskPriority newPriority)
TaskPriority
TaskPriority es un objeto valor del dominio que representa niveles de prioridad de tarea.