コード例 #1
0
        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);
            }
        }
コード例 #2
0
        private void ProcessSports()
        {
            var sports = _serviceFacade.GetSports();

            foreach (var sport in sports)
            {
                _sportProcessorRouterActor.Tell(new ProcessSportMsg {
                    Sport = sport.Name
                });
            }
        }
コード例 #3
0
        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);
            }
        }