master
1using Notepad.Domain.Repositories;
2using Notepad.Infrastructure.Extensions;
3using Notepad.Presentation.Core;
4using Notepad.Presentation.Model.Menu;
5using Notepad.Presentation.Views.Menu;
6
7namespace Notepad.Presentation.Presenters.Menu {
8 public interface IMainMenuPresenter : IPresenter {}
9
10 public class MainMenuPresenter : IMainMenuPresenter {
11 private readonly IMainMenuView mainMenu;
12 private readonly IRepository<ISubMenu> repository;
13 private readonly ISubMenuItemComparer comparer;
14
15 public MainMenuPresenter(IMainMenuView mainMenu,
16 IRepository<ISubMenu> repository,
17 ISubMenuItemComparer comparer) {
18 this.mainMenu = mainMenu;
19 this.repository = repository;
20 this.comparer = comparer;
21 }
22
23 public void Initialize() {
24 foreach (var subMenuToAddToMainMenu in repository.All().SortedUsing(comparer)) {
25 mainMenu.Add(subMenuToAddToMainMenu);
26 }
27 }
28 }
29}