60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Text;
 | 
						|
using System.ComponentModel;
 | 
						|
 | 
						|
namespace DevComponents.Schedule.Model
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// Represents specific date based work day.
 | 
						|
    /// </summary>
 | 
						|
    public class CalendarWorkDay : BaseWorkDay
 | 
						|
    {
 | 
						|
        #region Internal Implementation
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes a new instance of the WorkDay class.
 | 
						|
        /// </summary>
 | 
						|
        public CalendarWorkDay()
 | 
						|
        {
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes a new instance of the WorkDay class.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="date">Date this work-day represents</param>
 | 
						|
        public CalendarWorkDay(DateTime date)
 | 
						|
        {
 | 
						|
            _Date = date;
 | 
						|
        }
 | 
						|
 | 
						|
        private DateTime _Date = DateTime.MinValue;
 | 
						|
        /// <summary>
 | 
						|
        /// Gets or sets the date this day represents.
 | 
						|
        /// </summary>
 | 
						|
        public DateTime Date
 | 
						|
        {
 | 
						|
            get { return _Date; }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                value = value.Date;
 | 
						|
                if (value != _Date)
 | 
						|
                {
 | 
						|
                    DateTime oldValue = _Date;
 | 
						|
                    _Date = value;
 | 
						|
                    OnDateChanged(oldValue, value);
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// Called when Date property has changed.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="oldValue">Old property value.</param>
 | 
						|
        /// <param name="newValue">New property value.</param>
 | 
						|
        protected virtual void OnDateChanged(DateTime oldValue, DateTime newValue)
 | 
						|
        {
 | 
						|
            OnPropertyChanged(new PropertyChangedEventArgs("Date"));
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
}
 |