Esempio n. 1
0
 public FileInfo(File file, ActionList actions)
 {
     this.Name          = new Link(UiFormConstants.FileUrl(file.Id), file.Name);
     this.CreatedOn     = file.CreatedOn;
     this.FileExtension = file.Extension;
     this.Preview       = GetPreviewImage(file);
     this.Actions       = actions;
     this.Size          = new FileSize(file.Size);
 }
Esempio n. 2
0
        protected override Response Handle(Request message)
        {
            var query = this.userManager.Users
                        .Include(t => t.Roles)
                        .ThenInclude(t => t.Role)
                        .AsNoTracking();

            if (!string.IsNullOrEmpty(message.Email?.Value))
            {
                query = query.Where(u => u.Email.Contains(message.Email.Value));
            }

            if (!string.IsNullOrEmpty(message.Name))
            {
                query = query.Where(u => u.UserName.Contains(message.Name));
            }

            if (message.Id != null)
            {
                query = query.Where(u => u.Id.Equals(message.Id));
            }

            if (message.Roles?.Items?.Count > 0)
            {
                query = query.Where(u => u.Roles.Any(t => message.Roles.Items.Contains(t.Role.Name)));
            }

            if (message.Activation != null)
            {
                query = message.Activation.Value == UserActivation.Active
                                        ? query.Where(u => u.DateActivated.HasValue)
                                        : query.Where(u => !u.DateActivated.HasValue);
            }

            var result = query
                         .OrderBy(t => t.Id)
                         .Paginate(t => new Item(t, this), message.Paginator);

            return(new Response
            {
                Users = result,
                Actions = this.permissionManager.CanAccess <AddUser>()
                                        ? new ActionList(AddUser.Button())
                                        : null,
                ExportToExcel =
                    UiFormConstants.ExportToExcelLink(typeof(ManageUsers).GetFormId(), nameof(Response.Users), message)
            });
        }
Esempio n. 3
0
        public override IEnumerable <MenuItem> GetDynamicMenuItems()
        {
            if (this.userSecurityContext.CanAccess(typeof(MyNotifications)))
            {
                //var notificationCount = this.context.Notifications
                //	.Count(t => t.ReadOn == null && t.ArchivedOn == null);

                var count = new Random().Next(1, 100);

                yield return(MyNotifications
                             .Button($"<i class='far fa-bell' title='Notifications'></i>{UiFormConstants.CounterForTopMenu(count)}")
                             .AsMenuItem(Notifications));
            }
        }
Esempio n. 4
0
 internal static Image GetPreviewImage(File a)
 {
     return(a.Name.IsImageFilename()
                         ? new Image(UiFormConstants.FileUrl(a.Id))
                         : null);
 }