Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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));
        }