public ActionResult Index(int?id) { if (!id.HasValue) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var resultWithData = _translationService.GetByDictionaryId(id.Value); if (!resultWithData.Success) { // TODO } var phrases = resultWithData.ResultData; var model = phrases .OrderByDescending(p => p.Id) .Select(p => new IndexTranslationViewModel { Id = p.Id, Value = p.Value, Translations = p.TranslatedPhrases, DictionaryId = p.DictionaryId, }); ViewBag.DictionaryId = id; string userId = User.Identity.GetUserId(); var dictionariesExcludingCurrent = GetDictionaries(userId) .Where(d => d.Id != id.Value) .Select(d => new { Id = d.Id, Name = $"{ d.Name } ({ d.SourceLanguage.Code }-{ d.TargetLanguage.Code })", Group = "Мои словари", }) .ToList(); ViewBag.Dictionaries = new SelectList(dictionariesExcludingCurrent, "Id", "Name"); ViewBag.DictionariesCount = dictionariesExcludingCurrent.Count; return(View("Index", model)); }