SHARE
TWEET

Untitled

a guest Sep 16th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         private void SaveLiveScoreData(LiveScoresData data)
  2.         {
  3.             var leaguesInDb = DbContext.SportLeagues.ToList();
  4.             var dataByLeaguesInDb = data.Categories.Where(x => leaguesInDb.Select(s => s.Name).Contains(x.Name));
  5.             foreach (var league in dataByLeaguesInDb)
  6.             {
  7.                 var leagueEntity = leaguesInDb.FirstOrDefault(x => x.Name.Equals(league.Name));
  8.  
  9.                 foreach (var match in league.Matches)
  10.                 {
  11.                     var localTeamEntity = DbContext.Teams.FirstOrDefault(x => x.ApiId == match.LocalTeam.Id);
  12.                     if (localTeamEntity == null)
  13.                     {
  14.                         var teamEntity = new Teams
  15.                         {
  16.                             ApiId = match.LocalTeam.Id,
  17.                             Name = match.LocalTeam.Name
  18.                         };
  19.                         DbContext.Teams.Add(teamEntity);
  20.                         DbContext.SaveChanges();
  21.  
  22.                         localTeamEntity = teamEntity;
  23.                     }
  24.  
  25.                     var visitorTeamEntity = DbContext.Teams.FirstOrDefault(x => x.ApiId == match.VisitorTeam.Id);
  26.                     if (visitorTeamEntity == null)
  27.                     {
  28.                         var teamEntity = new Teams
  29.                         {
  30.                             ApiId = match.VisitorTeam.Id,
  31.                             Name = match.VisitorTeam.Name
  32.                         };
  33.                         DbContext.Teams.Add(teamEntity);
  34.                         DbContext.SaveChanges();
  35.  
  36.                         visitorTeamEntity = teamEntity;
  37.                     }
  38.  
  39.                     var matchEntity = DbContext.Matches.FirstOrDefault(x => x.ApiId == match.Id);
  40.                     if (matchEntity == null)
  41.                     {
  42.                         DateTime.TryParseExact
  43.                         ($"{match.FormattedDate} {match.Time}",
  44.                             "dd.MM.yyyy HH:mm",
  45.                             CultureInfo.InvariantCulture,
  46.                             DateTimeStyles.None,
  47.                             out var matchDate
  48.                             );
  49.                         var matchToAdd = new Matches()
  50.                         {
  51.                             ApiId = match.Id,
  52.                             Date = matchDate,
  53.                             Status = match.Status,
  54.                             Timer = match.Timer,
  55.                             FixId = match.FixId,
  56.                             StaticId = match.StaticId,
  57.                             LeagueId = leagueEntity.Id,
  58.                             LocalTeamId = localTeamEntity.Id,
  59.                             VisitorTeamId = visitorTeamEntity.Id
  60.                         };
  61.                         if (char.IsDigit(Convert.ToChar(match.LocalTeam.Goals)))
  62.                         {
  63.                             matchToAdd.LocalTeamGoals = Convert.ToInt32(match.LocalTeam.Goals);
  64.                         }
  65.                         if (char.IsDigit(Convert.ToChar(match.VisitorTeam.Goals)))
  66.                         {
  67.                             matchToAdd.VisitorTeamGoals = Convert.ToInt32(match.VisitorTeam.Goals);
  68.                         }
  69.  
  70.                         DbContext.Matches.Add(matchToAdd);
  71.                         DbContext.SaveChanges();
  72.                         matchEntity = matchToAdd;
  73.                     }
  74.                     else
  75.                     {
  76.                         if (!matchEntity.Status.Equals(match.Status))
  77.                         {
  78.                             matchEntity.Status = match.Status;
  79.                         }
  80.                     }
  81.  
  82.                     foreach (var matchEvent in match.Events)
  83.                     {
  84.                         var eventEntity = new Events()
  85.                         {
  86.                             ApiEventId = matchEvent.EventId,
  87.                             MatchId = matchEntity.Id,
  88.                             Type = matchEvent.Type,
  89.                             Minute = matchEvent.Minute,
  90.                             TeamId = matchEvent.Team.Equals(_localteam) ? localTeamEntity.Id : visitorTeamEntity.Id,
  91.                             PlayerName = matchEvent.PlayerName,
  92.                             AssistPlayerName = matchEvent.AssistPlayerName
  93.                         };
  94.                         DbContext.Events.Add(eventEntity);
  95.                     }
  96.                     DbContext.SaveChanges();
  97.                 }
  98.             }
  99.         }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top