public async Task <IActionResult> Messages(string systemName, int order = 0, int count = 10, int offset = 0) { try { var messages = await _messageService.GetAllMessagesForSystem(systemName); var messagesForSystem = messages.ToList(); if (order == 1) { messagesForSystem = messagesForSystem.OrderByDescending(m => m.Id).ToList(); } _messageService.ApplyPaging(ref messagesForSystem, count, offset); var dtos = new List <MessageDto>(); messagesForSystem.ForEach(m => dtos.Add(MessageDto.FromMessageEntity(m))); var apiMessage = new ApiMessage <IList <MessageDto> > { Data = dtos, Status = true }; apiMessage.Messages.Push("Messages available for current role."); return(Ok(apiMessage)); } catch (Exception e) { var apiMessage = new ApiMessage <IList <MessageDto> > { Status = false }; apiMessage.Messages.Push($"Bad request: {e.Message}"); return(BadRequest(apiMessage)); } }
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)); }