master
 1using System.Collections.Generic;
 2using Notepad.Domain.Repositories;
 3using Notepad.Infrastructure.Extensions;
 4
 5namespace Notepad.Presentation.Model.Menu.File {
 6    public class FileMenu : ISubMenu {
 7        private readonly IRepository<IMenuItem> repository;
 8        private readonly IMenuItemComparer menuItemComparer;
 9
10        public FileMenu(IRepository<IMenuItem> repository, IMenuItemComparer menuItemComparer) {
11            this.repository = repository;
12            this.menuItemComparer = menuItemComparer;
13        }
14
15        public IEnumerable<IMenuItem> AllMenuItems() {
16            return repository
17                .All()
18                .ThatSatisfy(menuItem => menuItem.BelongsTo(this))
19                .SortedUsing(menuItemComparer);
20        }
21
22        public string Name() {
23            return MenuNames.File;
24        }
25    }
26}