Esempio 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);
        }
Esempio n. 2
0
        public SportArticle AddSportArticleFromModel(SportArticleModel model)
        {
            var sportArticle = GetSportArticleFromModel(model);

            _sportArticleRepository.Insert(sportArticle);

            return(sportArticle);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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
            });
        }