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); }
public SportArticleModel GetBaseModel(SportArticle article) { return(new() { ArticleId = article.ArticleId, TeamId = article.TeamId, }); }
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); }