public ClientController( IIdentityService identity, IClientManager manager, IClientFileRepository files, IClientPresenter clients, ISenderRepository senders) { _identity = identity; _manager = manager; _files = files; _clients = clients; _senders = senders; }
private void InitializeEverything(ClientProvider clientProvider) { if (clientProvider == null) { MainListContentControl.Content = null; return; } _currentClientPresenter = null; _defaultClientList = null; _thumbnailClientList = null; ViewModeChanged(ViewMode.DefaultList); }
private void ViewModeChanged(ViewMode newViewMode) { IClientPresenter clientPresenter; switch (newViewMode) { case ViewMode.DefaultList: clientPresenter = _defaultClientList ?? (_defaultClientList = new DefaultClientList(ClientProvider)); break; case ViewMode.Thumbnails: clientPresenter = _thumbnailClientList ?? (_thumbnailClientList = new ThumbnailClientList(ClientProvider)); break; case ViewMode.SmallList: clientPresenter = _smallClientList ?? (_smallClientList = new SmallClientList(ClientProvider)); break; default: throw new ArgumentOutOfRangeException(nameof(newViewMode), newViewMode, null); } if (!IsRefreshDisabled) { clientPresenter.Enable(_currentFilter); } clientPresenter.ItemContextMenu = ItemContextMenu; clientPresenter.Commands = this; _currentClientPresenter?.Disable(); _currentClientPresenter = clientPresenter; MainListContentControl.Content = clientPresenter; ViewMode = newViewMode; }