private void ProcessSportMsgHandler(ProcessSportMsg msg) { var sports = _serviceFacade.GetSports(); List <IResourceFacade> resources = new List <IResourceFacade>(); foreach (var sport in sports) { var _res = _serviceFacade.GetResources(sport.Name); if (ValidateResources(_res, sport.Name)) { resources.AddRange(_res); } } if (resources.Count > 1) { SortByMatchStatus(resources); } var streamListenerManagerActor = Context.System.ActorSelection(StreamListenerManagerActor.Path); foreach (var resource in resources) { streamListenerManagerActor.Tell(new ProcessResourceMsg { Resource = resource }, Self); } }
private void ProcessSportMsgHandler(ProcessSportMsg msg) { var resources = _serviceFacade.GetResources(msg.Sport); if (ValidateResources(resources, msg.Sport)) { _logger.Debug($"Received {resources.Count} fixtures to process in sport={msg.Sport}"); if (resources.Count > 1) { resources.Sort((x, y) => { if (x.Content.MatchStatus > y.Content.MatchStatus) { return(-1); } return(x.Content.MatchStatus < y.Content.MatchStatus ? 1 : DateTime.Parse(x.Content.StartTime).CompareTo(DateTime.Parse(y.Content.StartTime))); }); } var streamListenerManagerActor = Context.System.ActorSelection(StreamListenerManagerActor.Path); foreach (var resource in resources) { streamListenerManagerActor.Tell(new ProcessResourceMsg { Resource = resource }, Self); } } }
private void ProcessSportsMsgHandler(ProcessSportMsg msg) { var sports = _serviceFacade.GetSports(); if (sports == null) { var errorMsg = "ServiceFacade GetSports responce=NULL probably credentials problem"; _logger.Error(errorMsg); throw new Exception(errorMsg); } _logger.Debug($"ServiceFacade GetSports returned SportsCount={sports?.Count()} listOfSports={$"\"{string.Join(", ", sports.Select(_=> _.Name))}\"" }"); List <IResourceFacade> resources = new List <IResourceFacade>(); foreach (var sport in sports) { var _res = _serviceFacade.GetResources(sport.Name); if (_res != null && _res.Any()) { _logger.Info($"ProcessSportMsgHandler {GetListOfFixtures(_res, sport)}"); } if (ValidateResources(_res, sport.Name)) { resources.AddRange(_res); } } if (resources.Count > 1) { try { resources.SortByMatchStatus(); } catch (System.ArgumentException argEx) { _logger.Warn($"Can't sort resources. Fixtures list: {GetListOfFixtures(resources)}. {argEx}"); } } _logger.Info($"ProcessSportsMsgHandler resourcesCount={resources.Count}"); var streamListenerManagerActor = Context.System.ActorSelection(StreamListenerManagerActor.Path); foreach (var resource in resources) { streamListenerManagerActor.Tell(new ProcessResourceMsg { Resource = resource }, Self); } }