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 SportArticle AddSportArticleFromModel(SportArticleModel model) { var sportArticle = GetSportArticleFromModel(model); _sportArticleRepository.Insert(sportArticle); return(sportArticle); }
public SportArticle UpdateSportArticleFromModel(int sportArticleId, SportArticleModel model) { var sportArticle = _sportArticleRepository.Set() .FirstOrDefault(sa => sa.ArticleId == sportArticleId); if (sportArticle == null) { throw new Exception($"SportArticle {sportArticleId} not found"); } var newSportArticle = GetSportArticleFromModel(model); sportArticle.TeamId = newSportArticle.TeamId; _sportArticleRepository.Update(sportArticle); return(sportArticle); }
private SportArticle GetSportArticleFromModel(SportArticleModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var article = _articleService.GetArticleById(model.ArticleId) ?? _articleModelService.GetArticleFromModel(model); var team = _teamRepository.Set() .FirstOrDefault(t => t.Id == model.TeamId) ?? throw new Exception($"team {model.TeamId} doesn\'t exist"); return(new SportArticle { ArticleId = model.ArticleId, Article = article, Team = team, TeamId = team.Id }); }