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
|
|
}
|
|
}
|