public async Task <IActionResult> Index(int offset = 0) { var usersWithRoles = new Dictionary <ApplicationUser, IList <string> >(); if (usersWithRoles.Count == 0) { (_userManager.Users.ToListAsync().Result).ForEach(user => { var roles = _userManager.GetRolesAsync(user).Result; usersWithRoles.Add(user, roles); }); } var messageViewModel = new MessageViewModel(); var messages = (await _messageService.GetAllMessages()).ToList(); const int messagesPerPageCount = 5; messageViewModel.OrganizeMessages(ref messages, messagesPerPageCount); _messageService.ApplyPaging(ref messages, messagesPerPageCount, offset); messageViewModel.Messages = messages; var adminPanelViewModel = new AdminPanelViewModel { MessageViewModel = messageViewModel, UsersWithRoles = usersWithRoles }; return(View(adminPanelViewModel)); }