diff --git a/Controllers/MatchesController.cs b/Controllers/MatchesController.cs index 38f740a..1057dfa 100644 --- a/Controllers/MatchesController.cs +++ b/Controllers/MatchesController.cs @@ -35,8 +35,14 @@ namespace LiveGameFeed.Controllers public async void Put(int id, [FromBody]MatchScore score) { Match _match = _matchRepository.GetSingle(id); + if (score.HostScore == 0 && score.GuestScore == 0) + { + _match.Feeds.Clear(); + } + _match.HostScore = score.HostScore; _match.GuestScore = score.GuestScore; + _matchRepository.Commit(); MatchViewModel _matchVM = Mapper.Map(_match); diff --git a/Core/FeedEngine.cs b/Core/FeedEngine.cs index 52cb1b6..82675c4 100644 --- a/Core/FeedEngine.cs +++ b/Core/FeedEngine.cs @@ -33,7 +33,8 @@ namespace LiveGameFeed.Core { Random r = new Random(); bool updateHost = r.Next(0, 2) == 1; - int points = r.Next(2,4); + int points = r.Next(2, 4); + bool _matchEnded = false; if (updateHost) match.HostScore += points; @@ -46,6 +47,12 @@ namespace LiveGameFeed.Core GuestScore = match.GuestScore }; + if (score.HostScore > 80 || score.GuestScore > 76) + { + score.HostScore = 0; + score.GuestScore = 0; + _matchEnded = true; + } // Update Score for all clients using (var client = new HttpClient()) { @@ -54,11 +61,14 @@ namespace LiveGameFeed.Core // Update Feed for subscribed only clients + FeedViewModel _feed = new FeedViewModel() { MatchId = match.Id, - Description = points + " points for " + (updateHost == true ? match.Host : match.Guest) + "!", - CreatedAt = DateTime.Now + Description = _matchEnded == false ? + (points + " points for " + (updateHost == true ? match.Host : match.Guest) + "!") : + "Match started", + CreatedAt = DateTime.Now }; using (var client = new HttpClient()) { diff --git a/app/home/home.component.ts b/app/home/home.component.ts index 1f044e3..81b1e78 100644 --- a/app/home/home.component.ts +++ b/app/home/home.component.ts @@ -51,6 +51,9 @@ export class HomeComponent implements OnInit { if (self.matches[i].Id === match.Id) { self.matches[i].HostScore = match.HostScore; self.matches[i].GuestScore = match.GuestScore; + + if(match.HostScore === 0 && match.GuestScore === 0) + self.matches[i].Feeds = new Array(); } } }