Click here to Skip to main content
15,893,486 members
Articles / Desktop Programming / WPF

GoalBook - A Hybrid Smart Client

Rate me:
Please Sign up or sign in to vote.
4.86/5 (24 votes)
25 Sep 2009CPOL10 min read 79.4K   834   69  
A WPF hybrid smart client that synchronises your goals with the Toodledo online To-do service.
// <copyright file="SearchViewPresenter.cs" company="GoalBook"> 
//    Copyright © 2009 Mark Brownsword. All rights reserved.
//    This source code and supporting files are licensed under The Code Project  
//    Open License (CPOL) as detailed at http://www.codeproject.com/info/cpol10.aspx. 
// </copyright>
namespace GoalBook.Shell.Views
{
    #region Using Statements
    using System;
    using GoalBook.Infrastructure.Interfaces;
    using Microsoft.Practices.Composite.Events;
    #endregion

    /// <summary>
    /// SearchView Presenter. Interaction logic for SearchView.
    /// </summary>
    public class SearchViewPresenter
    {
        #region Constants and Enums
        /// <summary>
        /// Declaration for navigationService.
        /// </summary>
        private readonly INavigationService navigationService;

        /// <summary>
        /// Declaration for dialogService.
        /// </summary>
        private readonly IDialogService dialogService;

        /// <summary>
        /// Declaration for loggerService.
        /// </summary>
        private readonly ILoggerService loggerService;

        /// <summary>
        /// Declaration for persistenceService.
        /// </summary>
        private readonly IPersistenceService persistenceService;

        /// <summary>
        /// Declaration for eventAggregator.
        /// </summary>
        private readonly IEventAggregator eventAggregator;

        /// <summary>
        /// Declaration for printService.
        /// </summary>
        private readonly IPrintService printService;

        /// <summary>
        /// Declaration for settingsService.
        /// </summary>
        private readonly ISettingsService settingsService;        
        #endregion

        #region Delegates and Events
        #endregion

        #region Instance and Shared Fields        
        #endregion

        #region Constructors
        /// <summary>
        /// Initializes a new instance of the SearchViewPresenter class.
        /// </summary>
        /// <param name="navigationService">Reference to navigationService</param>
        /// <param name="dialogService">Reference to dialogService</param>
        /// <param name="loggerService">Reference to loggerService</param>
        /// <param name="persistenceService">Reference to persistenceService</param>
        /// <param name="eventAggregator">Reference to eventAggregator</param>
        /// <param name="printService">Reference to printService</param> 
        /// <param name="settingsService">Reference to settingsService</param>
        public SearchViewPresenter(
            INavigationService navigationService, 
            IDialogService dialogService, 
            ILoggerService loggerService,
            IPersistenceService persistenceService, 
            IEventAggregator eventAggregator,
            IPrintService printService, 
            ISettingsService settingsService)
        {
            // Set references.
            this.dialogService = dialogService;
            this.navigationService = navigationService;
            this.loggerService = loggerService;
            this.persistenceService = persistenceService;
            this.eventAggregator = eventAggregator;
            this.printService = printService;
            this.settingsService = settingsService;

            Model = new SearchViewPresentationModel();
        }
        #endregion

        #region Properties
        /// <summary>
        /// Gets or sets Model.
        /// </summary>
        public SearchViewPresentationModel Model { get; set; }

        /// <summary>
        /// Gets or sets View.
        /// </summary>
        public SearchView View { get; set; }                
        #endregion

        #region Public and internal Methods
        /// <summary>
        /// Initialise the View.
        /// </summary>
        public void InitView()
        {
            View.DataContext = Model;
            View.IsActiveChanged += View_IsActiveChanged;
            View.Activated += View_Activated;
        }        
        #endregion

        #region Base Class Overrides
        #endregion

        #region Private and Protected Methods
        /// <summary>
        /// Handle View_IsActiveChanged event.
        /// </summary>  
        /// <param name="sender">sender parameter</param>
        /// <param name="e">EventArgs parameter</param>
        private void View_IsActiveChanged(object sender, EventArgs e)
        {
        }

        /// <summary>
        /// Handle View_Activated event.
        /// </summary>        
        /// <param name="sender">sender parameter</param>
        /// <param name="e">EventArgs parameter</param>
        private void View_Activated(object sender, EventArgs e)
        {            
        }
        #endregion
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Australia Australia
I've been working as a software developer since 2000 and hold a Bachelor of Business degree from The Open Polytechnic of New Zealand. Computers are for people and I aim to build applications for people that they would want to use.

Comments and Discussions