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}