Exemple #1
0
        public OrderPresenter(IOrderView orderView, Func <IOrderRepository> repositoryFactory, IStagePresenter stagePresenter,
                              Func <IReadOnlyList <Item>, Action, IPresenter> itemPresenterFactory, IDtoMapper dtoMapper, IVmMapper vmMapper, IOrderFilterer orderFilterer)
        {
            _orderView            = orderView;
            _repositoryFactory    = repositoryFactory;
            _stagePresenter       = stagePresenter;
            _itemPresenterFactory = (items) => itemPresenterFactory(items, OpenView);
            _dtoMapper            = dtoMapper;
            _vmMapper             = vmMapper;
            _orderFilterer        = orderFilterer;

            _orderView.OnSearchButtonClick = Search;
            _orderView.OnFilterChanged     = FilterOrders;
            _orderView.OnOrderDoubleClick  = OpenItemView;

            _orderView.ItemTypes = Enum.GetNames(typeof(ItemType));
            var itemConditions = new List <string>()
            {
                "Any"
            };

            itemConditions.AddRange(Enum.GetNames(typeof(ItemCondition)));
            _orderView.ItemConditions = itemConditions;
            _orderView.ItemCountTypes = new List <string>()
            {
                nameof(Order.TotalCount),
                nameof(Order.UniqueCount)
            };
            _orderView.OrderStatuses    = Enum.GetNames(typeof(OrderStatus));
            _orderView.OrderSearchTypes = new List <string>()
            {
                nameof(Order.Id),
                nameof(Order.BuyerName)
            };
        }
        public ItemPresenter(IItemView view, IItemImageRepository repository, IStagePresenter stagePresenter,
                             Action openOrderView, IReadOnlyList <Item> items, IItemFilterer itemFilterer, IVmMapper vmMapper)
        {
            _view           = view;
            _repository     = repository;
            _stagePresenter = stagePresenter;
            _items          = items.Select(item => vmMapper.Map(item)).ToList();
            _itemFilterer   = itemFilterer;
            _vmMapper       = vmMapper;
            _colors         = new List <ColorVm>();

            _view.OnBackButtonClick = openOrderView;
            _view.OnFilterChanged   = FilterItems;
            _view.OnViewOpened      = LoadItemImages;
            _view.OnViewOpened      = LoadItemColors;

            _view.ItemSearchTypes = new List <string>()
            {
                nameof(ItemVm.Number),
                nameof(ItemVm.InventoryId),
                nameof(ItemVm.Name)
            };
            _view.ItemTypes = Enum.GetNames(typeof(ItemType));
            var itemConditions = new List <string>()
            {
                "Any"
            };

            itemConditions.AddRange(Enum.GetNames(typeof(ItemCondition)));
            _view.ItemConditions = itemConditions;

            _view.Items = _items;
        }
        public RegisterPresenter(IRegisterView view, IRegisterRepository registerRepository, IStagePresenter stagePresenter, Action openLoginView, IOption <User> userOption)
        {
            _view = view;
            _registerRepository = registerRepository;
            _stagePresenter     = stagePresenter;
            _openLoginView      = openLoginView;
            _userOption         = userOption;

            _view.OnRegisterButtonClick = Register;
        }
        public LoginPresenter(ILoginView view, ILoginRepository loginRepository, IStagePresenter stagePresenter, Action openRegisterView, IOption <User> userOption)
        {
            _view            = view;
            _loginRepository = loginRepository;
            _stagePresenter  = stagePresenter;
            _userOption      = userOption;

            _view.OnLoginButtonClick    = Login;
            _view.OnRegisterButtonClick = openRegisterView;
        }