8000 Added News Message Generator · EpicSharpCode/ObserverExample@22ebdab · GitHub
[go: up one dir, main page]

Skip to content

Commit 22ebdab

Browse files
committed
Added News Message Generator
1 parent cc86e18 commit 22ebdab

File tree

4 files changed

+51
-2
lines changed

4 files changed

+51
-2
lines changed

ObserverExample/News/NewsAgency.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public NewsAgency()
2323

2424
public void MakeNewNews()
2525
{
26-
newsMessages.Add(new NewsMessage("Car Arrived",$"Car with number {random.Next(0,999999).ToString("D6")} was arrived"));
26+
newsMessages.Add(NewsMessageGenerator.GenerateNewsMessage());
2727
NewsRecieve(newsMessages.Last());
2828
}
2929

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace ObserverExample.News
8+
{
9+
public static class NewsMessageGenerator
10+
{
11+
private static Random random = new Random();
12+
public enum NewsType
13+
{
14+
CarArrive,
15+
PeopleMerge,
16+
PeopleArrived
17+
}
18+
19+
public static List<string> cityLocations { get; private set; } = new List<string>()
20+
{
21+
"City Hall",
22+
"Mall",
23+
"Elementary School",
24+
"College"
25+
};
26+
27+
public static NewsMessage GenerateNewsMessage()
28+
{
29+
var newsType = (NewsType)random.Next(0, 3);
30+
switch (newsType)
31+
{
32+
case NewsType.CarArrive:
33+
{
34+
return new NewsMessage("Car Arrived", $"Car with number {random.Next(0, 999999).ToString("D6")} was arrived to {cityLocations[random.Next(0,cityLocations.Count)]}");
35+
}
36+
case NewsType.PeopleMerge:
37+
{
38+
return new NewsMessage("People Merge", $"{random.Next(0, 150)} was merged from the city");
39+
}
40+
case NewsType.PeopleArrived:
41+
{
42+
return new NewsMessage("People Arrived", $"{random.Next(0, 250)} was arrived to the city");
43+
}
44+
}
45+
return null;
46+
}
47+
}
48+
}

ObserverExample/ObserverExample.csproj

Expand all lines: ObserverExample/ObserverExample.csproj
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
<Compile Include="News\NewsAgency.cs" />
4848
<Compile Include="News\NewsEventArgs.cs" />
4949
<Compile Include="News\NewsMessage.cs" />
50+
<Compile Include="News\NewsMessageGenerator.cs" />
5051
<Compile Include="Program.cs" />
5152
<Compile Include="Properties\AssemblyInfo.cs" />
5253
<Compile Include="Subscribers\ISubscriber.cs" />

ObserverExample/Subscribers/Subscriber.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public void Update(object sender, NewsEventArgs e)
3131
}
3232
public void Display(INewsMessage newsMessage)
3333
{
34-
Console.WriteLine($"[{name}] {newsMessage.OutputMessage()}");
34+
Console.WriteLine($"[{name}] get message: {newsMessage.OutputMessage()}");
3535
}
3636
}
3737
}

0 commit comments

Comments
 (0)
0