Skip to content

Commit e4c6540

Browse files
authored
Merge pull request #5 from erikshafer/fixes_during_youtube_video_recording
Updates for YouTube video release
2 parents f6d80f3 + 2ee5646 commit e4c6540

File tree

4 files changed

+12
-21
lines changed

4 files changed

+12
-21
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
An application showing the absolute basics of event sourcing with [EventStoreDB (ESDB)](https://www.eventstore.com/).
44

5+
The accompanying [YouTube video can be found here](https://www.youtube.com/watch?v=SB55-lgK_8I).
56

67
## 💡 Inspiration
78

8-
Inspired by Nick Chapsas' video about [getting started with Event Sourcing in .NET](https://www.youtube.com/watch?v=n_o-xuuVtmw). This take however uses EventStoreDB as its, well, store of events!
9+
This effort was inspired by Nick Chapsas' excellent video about [getting started with Event Sourcing in .NET](https://www.youtube.com/watch?v=n_o-xuuVtmw). This version however uses EventStoreDB as its database.
910

11+
Be sure to check out [Nick's YouTube channel](https://www.youtube.com/@nickchapsas) if you are somehow unfamiliar with his content, as well as his education platform [Dometrain](https://dometrain.com/) where you can level up your software development skills!
1012

1113
### 📄 Mini-Log / 🤔 Thoughts / 🧠 Brain Dump
1214

StudentEnrollment03.Esdb/Program.cs

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
await client.AppendToStreamAsync(
9292
streamId,
9393
StreamState.Any,
94-
new[] { created, enrolled, enrolled2, enrolled3, emailChanged },
94+
new[] { created, enrolled, enrolled2, enrolled3, emailChanged, withdrawn },
9595
cancellationToken: default
9696
);
9797

@@ -112,23 +112,14 @@ await client.AppendToStreamAsync(
112112

113113
// Okay, taking that StreamResult we're going to make it a List of ResolvedEvents.
114114
var eventStream = await streamResult.ToListAsync();
115-
// Get the last event's event number.
116-
var lastEventNumFromStream = eventStream.Last().Event.EventNumber.ToUInt64();
117-
118-
// Append another event. This time let's make sure no one has appended to (AKA updated) the stream.
119-
await client.AppendToStreamAsync(
120-
streamId,
121-
new StreamRevision(lastEventNumFromStream), // checking against expected revision number
122-
new[] { withdrawn },
123-
cancellationToken: default
124-
);
115+
Console.WriteLine($"Events (total: {eventStream.Count}) from selected stream: ");
125116

117+
// Instantiate our model and then apply state changes from the deserialized events.
126118
var student = new Student();
127-
128-
Console.WriteLine($"Events (total: {eventStream.Count}) from selected stream: ");
129119
foreach (var @event in eventStream)
130120
{
131-
switch (DeserializeEvent(@event.Event))
121+
var deserializeEvent = DeserializeEvent(@event.Event);
122+
switch (deserializeEvent)
132123
{
133124
case StudentCreated studentCreated:
134125
student.Apply(studentCreated);

StudentEnrollment03.Esdb/Student.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ public void Apply(Event @event)
1818
case StudentCreated created:
1919
Apply(created);
2020
break;
21-
case StudentEmailChanged emailChanged:
22-
Apply(emailChanged);
23-
break;
2421
case StudentEnrolled enrolled:
2522
Apply(enrolled);
2623
break;
24+
case StudentEmailChanged emailChanged:
25+
Apply(emailChanged);
26+
break;
2727
case StudentWithdrew withdrawn:
2828
Apply(withdrawn);
2929
break;

docker-compose.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
version: "3.4"
2-
3-
services:
1+
services:
42
app01-inmemory:
53
build:
64
dockerfile: StudentEnrollment01.InMemory/Dockerfile

0 commit comments

Comments
 (0)