forked from OrleansContrib/Orleankka
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMessages.cs
More file actions
145 lines (119 loc) · 2.88 KB
/
Messages.cs
File metadata and controls
145 lines (119 loc) · 2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using System;
using System.Linq;
using Orleankka.Meta;
namespace Example
{
[Serializable]
public class Create : Command<InventoryItem>
{
public readonly string Name;
public Create(string name)
{
Name = name;
}
}
[Serializable]
public class CheckIn : Command<InventoryItem>
{
public readonly int Quantity;
public CheckIn(int quantity)
{
Quantity = quantity;
}
}
[Serializable]
public class CheckOut : Command<InventoryItem>
{
public readonly int Quantity;
public CheckOut(int quantity)
{
Quantity = quantity;
}
}
[Serializable]
public class Rename : Command<InventoryItem>
{
public readonly string NewName;
public Rename(string newName)
{
NewName = newName;
}
}
[Serializable]
public class Deactivate : Command<InventoryItem>
{}
[Serializable]
public class GetDetails : Query<InventoryItem, InventoryItemDetails>
{}
[Serializable]
public class GetInventoryItems : Query<Inventory, InventoryItemDetails[]>
{}
[Serializable]
public class GetInventoryItemsTotal : Query<Inventory, int>
{}
[Serializable]
public class EventEnvelope<T> where T : Event
{
public readonly string Stream;
public readonly T Event;
public EventEnvelope(string stream, T @event)
{
Stream = stream;
Event = @event;
}
}
[Serializable]
public class InventoryItemDetails
{
public string Name;
public int Total;
public bool Active;
public InventoryItemDetails(string name, int total, bool active)
{
Name = name;
Total = total;
Active = active;
}
}
[Serializable]
public class InventoryItemCreated : Event
{
public readonly string Name;
public InventoryItemCreated(string name)
{
Name = name;
}
}
[Serializable]
public class InventoryItemCheckedIn : Event
{
public readonly int Quantity;
public InventoryItemCheckedIn(int quantity)
{
Quantity = quantity;
}
}
[Serializable]
public class InventoryItemCheckedOut : Event
{
public readonly int Quantity;
public InventoryItemCheckedOut(int quantity)
{
Quantity = quantity;
}
}
[Serializable]
public class InventoryItemRenamed : Event
{
public readonly string OldName;
public readonly string NewName;
public InventoryItemRenamed(string oldName, string newName)
{
OldName = oldName;
NewName = newName;
}
}
[Serializable]
public class InventoryItemDeactivated : Event
{}
}