summaryrefslogtreecommitdiff
path: root/src/Notepad/Presentation/Model/Menu/File/FileMenu.cs
blob: 98b5a47b8baa137843c0f77a0b38d57e9b6199c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System.Collections.Generic;
using Notepad.Domain.Repositories;
using Notepad.Infrastructure.Extensions;

namespace Notepad.Presentation.Model.Menu.File {
    public class FileMenu : ISubMenu {
        private readonly IRepository<IMenuItem> repository;
        private readonly IMenuItemComparer menuItemComparer;

        public FileMenu(IRepository<IMenuItem> repository, IMenuItemComparer menuItemComparer) {
            this.repository = repository;
            this.menuItemComparer = menuItemComparer;
        }

        public IEnumerable<IMenuItem> AllMenuItems() {
            return repository
                .All()
                .ThatSatisfy(menuItem => menuItem.BelongsTo(this))
                .SortedUsing(menuItemComparer);
        }

        public string Name() {
            return MenuNames.File;
        }
    }
}