private async Task <NewsViewModel> BuildEditNewsFeedViewModel() { var newsFeedViewModel = new NewsViewModel(); var elections = await _electionRepository.GetElections(); newsFeedViewModel.Elections = new List <SelectListItem>(); foreach (var election in elections.Value) { var electionGroup = new SelectListGroup { Name = election.ElectionName }; foreach (var ballot in election.Ballots) { newsFeedViewModel.Elections.Add(new SelectListItem(ballot.Name, ballot.BallotId.ToString()) { Group = electionGroup }); } } newsFeedViewModel.Date = DateTime.Today; newsFeedViewModel.SelectedElectionId = null; var authors = await _authorsRepository.GetAuthors(); newsFeedViewModel.Authors = authors.Select(a => new SelectListItem(a.Name, a.Id.ToString())).ToList(); return(newsFeedViewModel); }