/// <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;
        }
Пример #2
0
        public MainVM(IKeyboardListener kbListener, ITextFetcher textFetcher, IDataServiceFacade dataServiceFacade)
        {
            _kbListener        = kbListener;
            _textFetcher       = textFetcher;
            _dataServiceFacade = dataServiceFacade;

            _kbListener.MagicCombinationPressed += _kbListener_MagicCombinationPressed;
        }
Пример #3
0
        /// <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());
        }
Пример #4
0
        /// <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;
        }
Пример #5
0
        /// <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());
        }