305 lines
9.6 KiB
C#
305 lines
9.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
using BeWo.ViewModel;
|
|
|
|
using BS.Shared.DataContracts;
|
|
|
|
namespace BeWo.Scheduler.ViewModel
|
|
{
|
|
public class AppointmentVM : AbstractDCMapperVM<AppointmentDC>, IBeWoAppointment
|
|
{
|
|
public static string PropertyName_AppointmentCategory = "AppointmentCategory";
|
|
|
|
public static string PropertyName_Type = "Type";
|
|
|
|
public static string PropertyName_Start = "Start";
|
|
|
|
public static string PropertyName_End = "End";
|
|
|
|
public static string PropertyName_AllDay = "AllDay";
|
|
|
|
public static string PropertyName_Subject = "Subject";
|
|
|
|
public static string PropertyName_Location = "Location";
|
|
|
|
public static string PropertyName_Status = "Status";
|
|
|
|
public static string PropertyName_RecurrenceInfo = "RecurrenceInfo";
|
|
|
|
public static string PropertyName_ReminderInfo = "ReminderInfo";
|
|
|
|
public static string PropertyName_Description = "Description";
|
|
|
|
public static string PropertyName_CustomerOid = "CustomerOid";
|
|
|
|
public static string PropertyName_EmployeeOid = "EmployeeOid";
|
|
private bool _AllDay;
|
|
|
|
|
|
private AppointmentCategoryDC _AppointmentCategory;
|
|
private long? _CustomerOid;
|
|
private String _Description;
|
|
private long? _EmployeeOid;
|
|
|
|
private DateTime _End;
|
|
|
|
private String _Location;
|
|
|
|
private String _RecurrenceInfo;
|
|
|
|
private String _ReminderInfo;
|
|
private DateTime _Start;
|
|
private int _Status;
|
|
private String _Subject;
|
|
private int _Type;
|
|
private Dictionary<string, object> mCustomFields;
|
|
|
|
public AppointmentVM(AppointmentDC pDC)
|
|
: base(pDC, pDC.AppointmentOid == null)
|
|
{
|
|
}
|
|
|
|
public AppointmentCategoryDC AppointmentCategoryDC
|
|
{
|
|
get { return _AppointmentCategory; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_AppointmentCategory, value))
|
|
{
|
|
_AppointmentCategory = value;
|
|
StoreDirtyInformation(!AreEqual(value, DataContract.AppointmentCategory),
|
|
PropertyName_AppointmentCategory);
|
|
FirePropertyChanged(PropertyName_AppointmentCategory);
|
|
}
|
|
}
|
|
}
|
|
|
|
public long? CustomerOid
|
|
{
|
|
get { return _CustomerOid; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_CustomerOid, value))
|
|
{
|
|
_CustomerOid = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.CustomerOid, value), PropertyName_CustomerOid);
|
|
FirePropertyChanged(PropertyName_CustomerOid);
|
|
}
|
|
}
|
|
}
|
|
|
|
public long? EmployeeOid
|
|
{
|
|
get { return _EmployeeOid; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_EmployeeOid, value))
|
|
{
|
|
_EmployeeOid = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.EmployeeOid, value), PropertyName_EmployeeOid);
|
|
FirePropertyChanged(PropertyName_EmployeeOid);
|
|
}
|
|
}
|
|
}
|
|
|
|
public int EventType
|
|
{
|
|
get { return _Type; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_Type, value))
|
|
{
|
|
_Type = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.Type, value), PropertyName_Type);
|
|
FirePropertyChanged(PropertyName_Type);
|
|
}
|
|
}
|
|
}
|
|
|
|
public DateTime End
|
|
{
|
|
get { return _End; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_End, value))
|
|
{
|
|
_End = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.EndDate, value), PropertyName_End);
|
|
FirePropertyChanged(PropertyName_End);
|
|
}
|
|
}
|
|
}
|
|
|
|
public DateTime Start
|
|
{
|
|
get { return _Start; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_Start, value))
|
|
{
|
|
_Start = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.StartDate, value), PropertyName_Start);
|
|
FirePropertyChanged(PropertyName_Start);
|
|
}
|
|
}
|
|
}
|
|
|
|
public bool AllDay
|
|
{
|
|
get { return _AllDay; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_AllDay, value))
|
|
{
|
|
_AllDay = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.AllDay, value), PropertyName_AllDay);
|
|
FirePropertyChanged(PropertyName_AllDay);
|
|
}
|
|
}
|
|
}
|
|
|
|
public String Subject
|
|
{
|
|
get { return _Subject; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_Subject, value))
|
|
{
|
|
_Subject = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.Subject, value), PropertyName_Subject);
|
|
FirePropertyChanged(PropertyName_Subject);
|
|
}
|
|
}
|
|
}
|
|
|
|
public String Location
|
|
{
|
|
get { return _Location; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_Location, value))
|
|
{
|
|
_Location = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.Location, value), PropertyName_Location);
|
|
FirePropertyChanged(PropertyName_Location);
|
|
}
|
|
}
|
|
}
|
|
|
|
public int Status
|
|
{
|
|
get { return _Status; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_Status, value))
|
|
{
|
|
_Status = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.Status, value), PropertyName_Status);
|
|
FirePropertyChanged(PropertyName_Status);
|
|
}
|
|
}
|
|
}
|
|
|
|
public String RecurrenceInfo
|
|
{
|
|
get { return _RecurrenceInfo; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_RecurrenceInfo, value))
|
|
{
|
|
_RecurrenceInfo = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.RecurrenceInfo, value), PropertyName_RecurrenceInfo);
|
|
FirePropertyChanged(PropertyName_RecurrenceInfo);
|
|
}
|
|
}
|
|
}
|
|
|
|
public String ReminderInfo
|
|
{
|
|
get { return _ReminderInfo; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_ReminderInfo, value))
|
|
{
|
|
_ReminderInfo = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.ReminderInfo, value), PropertyName_ReminderInfo);
|
|
FirePropertyChanged(PropertyName_ReminderInfo);
|
|
}
|
|
}
|
|
}
|
|
|
|
public String Description
|
|
{
|
|
get { return _Description; }
|
|
|
|
set
|
|
{
|
|
if (AreDifferent(_Description, value))
|
|
{
|
|
_Description = value;
|
|
StoreDirtyInformation(AreDifferent(DataContract.Description, value), PropertyName_Description);
|
|
FirePropertyChanged(PropertyName_Description);
|
|
}
|
|
}
|
|
}
|
|
|
|
public object Id { get; set; }
|
|
public int LabelId { get; set; }
|
|
public object ResourceId { get; set; }
|
|
public BeWoAppointmentCategory AppointmentCategory { get; set; }
|
|
|
|
public Dictionary<string, object> CustomFields
|
|
{
|
|
get { return mCustomFields ?? (mCustomFields = new Dictionary<String, object>()); }
|
|
}
|
|
|
|
protected override void InitByDataContract(AppointmentDC pDataContract)
|
|
{
|
|
_AllDay = pDataContract.AllDay;
|
|
_AppointmentCategory = pDataContract.AppointmentCategory;
|
|
_CustomerOid = pDataContract.CustomerOid;
|
|
_Description = pDataContract.Description;
|
|
_EmployeeOid = pDataContract.EmployeeOid;
|
|
_End = pDataContract.EndDate;
|
|
_Location = pDataContract.Location;
|
|
_RecurrenceInfo = pDataContract.RecurrenceInfo;
|
|
_ReminderInfo = pDataContract.ReminderInfo;
|
|
_Start = pDataContract.StartDate;
|
|
_Status = pDataContract.Status;
|
|
_Subject = pDataContract.Subject;
|
|
_Type = pDataContract.Type;
|
|
}
|
|
|
|
protected override AppointmentDC MapToDataContract(AppointmentDC pDataContract, bool doCommit)
|
|
{
|
|
pDataContract.AllDay = _AllDay;
|
|
pDataContract.AppointmentCategory = _AppointmentCategory;
|
|
pDataContract.CustomerOid = _CustomerOid;
|
|
pDataContract.Description = _Description;
|
|
pDataContract.EmployeeOid = _EmployeeOid;
|
|
pDataContract.EndDate = _End;
|
|
pDataContract.Location = _Location;
|
|
pDataContract.RecurrenceInfo = _RecurrenceInfo;
|
|
pDataContract.ReminderInfo = _ReminderInfo;
|
|
pDataContract.StartDate = _Start;
|
|
pDataContract.Status = _Status;
|
|
pDataContract.Subject = _Subject;
|
|
pDataContract.Type = _Type;
|
|
|
|
return pDataContract;
|
|
}
|
|
}
|
|
} |