public ServiceModelInterface.ISportDetails GetSportDetail(string sportCode)
        {
            var getSportOverviewMsg = new GetSportOverviewMsg
            {
                SportCode = sportCode
            };
            var overview = string.IsNullOrWhiteSpace(sportCode)
                ? null
                : _supervisorActor.Ask <SportOverview>(getSportOverviewMsg).Result;

            var details = overview?.ToServiceModel();

            if (details == null)
            {
                return(null);
            }

            var getFixturesMsg = new GetFixturesMsg();
            var sportFixtures  = _supervisorActor.Ask <IEnumerable <FixtureOverview> >(getFixturesMsg).Result
                                 .Where(f => f.Sport.Equals(sportCode) &&
                                        !(f.ListenerOverview.IsDeleted.GetValueOrDefault() ||
                                          f.ListenerOverview.MatchStatus.HasValue &&
                                          (int)f.ListenerOverview.MatchStatus.Value >= (int)MatchStatus.MatchOverUnConfirmed));

            foreach (var fixture in sportFixtures)
            {
                details.AddFixture(fixture.ToServiceModel <ServiceModel.FixtureOverview>());
            }


            return(details);
        }
Exemple #2
0
 private void GetSportOverviewMsgHandler(GetSportOverviewMsg msg)
 {
     Sender.Tell(msg.SportCode != null && _sportsOverview.ContainsKey(msg.SportCode)
         ? _sportsOverview[msg.SportCode]
         : null);
 }