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