Exemplo n.º 1
0
        private SportArticleModel LocalizeSportArticleModel(SportArticleModel model, SportArticle sportArticle, int languageId)
        {
            if (sportArticle?.Article == null ||
                sportArticle?.Team == null)
            {
                sportArticle = _sportArticleRepository.Set()
                               .Include(sa => sa.Article)
                               .Include(sa => sa.Team).ThenInclude(t => t.TeamLocalizations)
                               .Include(sa => sa.Team).ThenInclude(t => t.Conference).ThenInclude(c => c.ConferenceLocalizations)
                               .Include(sa => sa.Team).ThenInclude(t => t.Location)
                               .FirstOrDefault(sa => sa == sportArticle);
            }

            model.LocationId  = sportArticle.Team.Location.Id;
            model.LocationUri = sportArticle.Team.Location.Uri;
            //TODO: English language default id in call
            model.TeamId   = sportArticle.Team.Id;
            model.TeamName = sportArticle.Team.TeamLocalizations
                             .FirstOrDefault(tl => tl.LanguageId == languageId)?.Name ??
                             sportArticle.Team.TeamLocalizations.FirstOrDefault(tl => tl.LanguageId == 1 /*english*/)?.Name;
            //TODO: English language default id in call
            model.ConferenceId   = sportArticle.Team.Conference.Id;
            model.ConferenceName = sportArticle.Team.Conference.ConferenceLocalizations
                                   .FirstOrDefault(cl => cl.LanguageId == languageId)?.Name ??
                                   sportArticle.Team.Conference.ConferenceLocalizations.FirstOrDefault(cl => cl.LanguageId == 1 /*english*/)?.Name;

            return(model);
        }
Exemplo n.º 2
0
 public SportArticleModel GetBaseModel(SportArticle article)
 {
     return(new()
     {
         ArticleId = article.ArticleId,
         TeamId = article.TeamId,
     });
 }
Exemplo n.º 3
0
        public SportArticleModel GenerateSportArticleModel(SportArticle sportArticle, int languageId)
        {
            if (sportArticle?.Article == null ||
                sportArticle?.Team == null)
            {
                sportArticle = _sportArticleRepository.Set()
                               .Include(sa => sa.Article)
                               .Include(sa => sa.Team).ThenInclude(t => t.TeamLocalizations)
                               .Include(sa => sa.Team).ThenInclude(t => t.Conference).ThenInclude(c => c.ConferenceLocalizations)
                               .Include(sa => sa.Team).ThenInclude(t => t.Location)
                               .FirstOrDefault(sa => sa == sportArticle);
            }

            if (sportArticle == null)
            {
                throw new ArgumentNullException(nameof(sportArticle));
            }

            var articleModel = _articleModelService.GetLocalizedArticleModel(sportArticle.Article, languageId);

            var sportArticleModel = LocalizeSportArticleModel(new SportArticleModel(articleModel), sportArticle, languageId);

            return(sportArticleModel);
        }