Ejemplo n.º 1
0
        /// <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
Ejemplo n.º 2
0
        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)
 {
 }