/// <summary> /// Get list of all active elections on system /// </summary> /// <param name="userId">Unique UserId ID</param> /// <returns type="ElectionListViewModel[]">List of ElectionListViewModel</returns> public ICollection <ElectionListViewModel> GetElectionList(int userId) { ICollection <Election> _electionList = _electionRepository.GetActiveElections(userId); var toReturn = _electionList.Select(x => new ElectionListViewModel { ElectionId = x.ElectionId, ElectionName = x.ElectionName }).ToList(); // iterate through each Election and convert to ElectionListViewModel foreach (var election in _electionList) { foreach (var user in election.UsersVotedIn) { if (user.UserId == userId) { if (user.ElectionId == election.ElectionId) { toReturn = toReturn.Where(x => x.ElectionId != election.ElectionId).ToList(); } } } } return(toReturn); }