/// <summary> /// Initializes a new instance of the <see cref="ProjectViewPresenter"/> class. /// </summary> /// <param name="view">The <see cref="IProjectView"/> view instance.</param> /// <param name="configurationService">The <seealso cref="IConfigurationService"/> service used get the list of the projects.</param> /// <param name="serviceFacade">The service facade.</param> /// <param name="regionManager">The <see cref="IRegionManager"/>.</param> public ProjectViewPresenter(IProjectView view, IConfigurationService configurationService, IDataServiceFacade serviceFacade, IRegionManager regionManager, IEventAggregator eventAggregator) { this.serviceFacade = serviceFacade; this.configurationService = configurationService; this.regionManager = regionManager; this.deleteCommand = new DelegateCommand <object>(this.Delete); this.KeyboardActionCommand = new DelegateCommand <Tuple <KeyboardAction, object> >(this.ExecuteKeyboardAction); eventAggregator.GetEvent <ResetWindowsEvent>().Subscribe(this.ResetWindow); this.View = view; this.View.Model = this; this.serviceFacade.GetProjectsByUserCompleted += this.OnGetProjectsCompleted; this.serviceFacade.DeleteProjectCompleted += (sender, e) => { if (e.Data && this.deletedProjectUri != null) { Project project = this.projects.SingleOrDefault(x => x.ProviderUri == this.deletedProjectUri); if (project != null) { this.Projects.Remove(project); } } this.deletedProjectUri = null; }; this.serviceFacade.GetProjectsByUserAsync(this.configurationService.GetUserName()); this.serviceFacade.SaveProjectCompleted += this.LoadProjectList; }
public MainVM(IKeyboardListener kbListener, ITextFetcher textFetcher, IDataServiceFacade dataServiceFacade) { _kbListener = kbListener; _textFetcher = textFetcher; _dataServiceFacade = dataServiceFacade; _kbListener.MagicCombinationPressed += _kbListener_MagicCombinationPressed; }
/// <summary> /// Initializes a new instance of the <see cref="ProjectService"/> class. /// </summary> /// <param name="dataService"> /// The data service. /// </param> /// <param name="configurationService"> /// The configuration service. /// </param> /// <param name="errorViewResolver"> /// The error View Resolver. /// </param> /// <param name="logger">The <see cref="ILogger"/> used to log application events.</param> public ProjectService(IDataServiceFacade dataService, IConfigurationService configurationService, Func <IErrorView> errorViewResolver, ILogger logger) { this.dataService = dataService; this.configurationService = configurationService; this.logger = logger; this.errorViewResolver = errorViewResolver; this.dataService.LoadProjectCompleted += this.DataService_LoadProjectCompleted; this.dataService.SaveProjectCompleted += this.DataService_SaveProjectCompleted; this.RetrieveProject(this.configurationService.GetProjectId()); }
/// <summary> /// Initializes a new instance of the <see cref="TitlesViewPresentationModel"/> class. /// </summary> /// <param name="view">The view of Media Bin Module.</param> /// <param name="eventAggregator">The event aggregator.</param> /// <param name="serviceFacade">The service facade.</param> /// <param name="configurationService">The configuration service.</param> /// <param name="regionManager">The region manager.</param> /// <param name="downloader">The downloader used to retrieve the xaml templates.</param> public TitlesViewPresentationModel(ITitlesView view, IEventAggregator eventAggregator, IDataServiceFacade serviceFacade, IConfigurationService configurationService, IRegionManager regionManager, Downloader downloader) { this.eventAggregator = eventAggregator; this.serviceFacade = serviceFacade; this.configurationService = configurationService; this.regionManager = regionManager; this.downloader = downloader; this.downloader.DownloadStringCompleted += this.OnClientOnDownloadStringCompleted; this.PopulateTitles(); this.View = view; this.PropertyChanged += this.TitlesViewPresentationModel_PropertyChanged; this.MainTitle = "Main-Title Text."; this.SubTitle = "Sub-Title Text."; this.View.Model = this; }
/// <summary> /// Initializes a new instance of the <see cref="ProjectViewPresenter"/> class. /// </summary> /// <param name="view">The <see cref="IProjectView"/> view instance.</param> /// <param name="configurationService">The <seealso cref="IConfigurationService"/> service used get the list of the projects.</param> /// <param name="serviceFacade">The service facade.</param> /// <param name="regionManager">The <see cref="IRegionManager"/>.</param> public ProjectViewPresenter(IProjectView view, IConfigurationService configurationService, IDataServiceFacade serviceFacade, IRegionManager regionManager) { this.serviceFacade = serviceFacade; this.configurationService = configurationService; this.regionManager = regionManager; this.deleteCommand = new DelegateCommand <object>(this.Delete); this.View = view; this.View.Model = this; this.serviceFacade.GetProjectsByUserCompleted += (sender, e) => { if (e.Data != null) { if (this.configurationService.GetProjectId() != null) { Project project = e.Data.Where(x => x.ProviderUri == this.configurationService.GetProjectId()).SingleOrDefault(); if (project != null && e.Data.Contains(project)) { e.Data.Remove(project); } } this.Projects = new ObservableCollection <Project>(); e.Data.ForEach(x => this.Projects.Add(x)); } }; this.serviceFacade.DeleteProjectCompleted += (sender, e) => { if (e.Data && this.deletedProjectUri != null) { Project project = this.projects.SingleOrDefault(x => x.ProviderUri == this.deletedProjectUri); if (project != null) { this.Projects.Remove(project); } } this.deletedProjectUri = null; }; this.serviceFacade.GetProjectsByUserAsync(this.configurationService.GetUserName()); }