public void AddBreakDown(BreakDownModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var breakDown = GetBreakDownFromModel(model); _breakDownRepository.Insert(breakDown); }
private BreakDownModel LocalizeBreakDownModel(BreakDownModel model, BreakDown breakDown, int languageId) { if (breakDown.Category == null || breakDown.Conference == null || breakDown.Team == null) { breakDown = _breakDownRepository .Set() .Include(bd => bd.Category).ThenInclude(c => c.CategoryLocalizations) .Include(bd => bd.Conference).ThenInclude(c => c.ConferenceLocalizations) .Include(bd => bd.Team).ThenInclude(t => t.TeamLocalizations) .FirstOrDefault(bd => bd.Id == breakDown.Id); } if (breakDown.Category != null) { model.CategoryId = breakDown.Category?.Id; model.CategoryName = breakDown.Category? .CategoryLocalizations.FirstOrDefault(cl => cl.LanguageId == languageId)?.Name ?? breakDown.Category.CategoryLocalizations.FirstOrDefault(cl => cl.LanguageId == 1 /*english*/)?.Name; } //TODO: English language default id in call if (breakDown.Conference != null) { //TODO: English language default id in call model.ConferenceId = breakDown.Conference?.Id; model.ConferenceName = breakDown.Conference? .ConferenceLocalizations.FirstOrDefault(cl => cl.LanguageId == languageId)?.Name ?? breakDown.Conference.ConferenceLocalizations.FirstOrDefault(cl => cl.LanguageId == 1 /*english*/)?.Name; } //TODO: English language default id in call if (breakDown.Team != null) { model.TeamId = breakDown.Team?.Id; model.TeamName = breakDown.Team? .TeamLocalizations.FirstOrDefault(cl => cl.LanguageId == languageId)?.Name ?? breakDown.Team.TeamLocalizations.FirstOrDefault(cl => cl.LanguageId == 1 /*english*/)?.Name; } return(model); }
public BreakDownModel GenerateBreakDownModel(BreakDown breakDown, int languageId) { if (breakDown == null) { throw new ArgumentNullException(nameof(breakDown)); } var language = _languageRepository.GetById(languageId); if (language == null) { throw new Exception($"language {languageId} not found"); } var model = new BreakDownModel { Id = breakDown.Id, Show = breakDown.Show, Languageid = languageId }; return(LocalizeBreakDownModel(model, breakDown, languageId)); }
private BreakDown GetBreakDownFromModel(BreakDownModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var category = _categoryRepository.GetById(model.CategoryId ?? 0); if (category == null) { throw new Exception($"category {model.CategoryId} not found"); } var conference = _conferenceRepository.GetById(model.ConferenceId ?? 0); if (conference == null) { throw new Exception($"conference {model.ConferenceId} not found"); } var team = _teamRepository.GetById(model.TeamId ?? 0); if (team == null) { throw new Exception($"team {model.TeamId} not found"); } return(new BreakDown { Id = model.Id, Show = model.Show, Category = category, Conference = conference, Team = team }); }
public void UpdateBreakDown(int id, BreakDownModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var oldBreakDown = _breakDownRepository.GetById(id); if (oldBreakDown == null) { throw new Exception($"breakDown {id} not found"); } var newBreakDown = GetBreakDownFromModel(model); oldBreakDown.Id = newBreakDown.Id; oldBreakDown.Show = newBreakDown.Show; oldBreakDown.Category = newBreakDown.Category; oldBreakDown.Conference = newBreakDown.Conference; oldBreakDown.Team = newBreakDown.Team; _breakDownRepository.Update(oldBreakDown); }