/// <summary> /// Constructor with dependency injection. /// </summary> /// <param name="mediaItemService"></param> /// <param name="tagService"></param> /// <param name="view"></param> /// <param name="imageFileReader"></param> public AddMediaItemPresenter(IMediaItemService mediaItemService, ITagService tagService, IAddMediaItemForm view, IImageFileReader imageFileReader) { this._mediaItemService = mediaItemService; this._tagService = tagService; this._view = view; this._imageFileReader = imageFileReader; this._allTags = new Dictionary <string, bool>(); // subscribe to the view's events this._view.SaveButtonClicked += (async(sender, args) => { await HandleSaveButtonClicked(sender, args); }); this._view.InputFieldsUpdated += InputFieldsUpdated; this._view.FilterTagsFieldUpdated += FilterTags; this._view.AddNewTagButtonClicked += HandleAddNewTagClicked; this._view.TagCheckedChanged += HandleTagCheckedChanged; }//ctor
public async void AddNewMediaItemClicked(object sender, EventArgs e) { this._addMediaItemView = new AddNewMediaItemForm(); var addItemPresenter = new AddMediaItemPresenter(this._mediaItemService, this._tagService, this._addMediaItemView, new ImageFileReader()); await addItemPresenter.PopulateTagsList(); this._addMediaItemView.ItemAdded += ItemsAdded; int categoryIndexToSelect; if (this._view.CategoryDropDownSelectedIndex > 2) { categoryIndexToSelect = this._view.CategoryDropDownSelectedIndex - 2; } else { categoryIndexToSelect = 0; } this._addMediaItemView.SelectedCategoryIndex = categoryIndexToSelect; ((AddNewMediaItemForm)this._addMediaItemView).ShowDialog(); }
public MockPresenter(IMediaItemService mediaItemService, ITagService tagService, IAddMediaItemForm view, IImageFileReader imageFileReader) : base(mediaItemService, tagService, view, imageFileReader) { }