using System;
using System.Linq;
using Telerik.WinControls.UI;

namespace RadScheduler
{
    public class Presentation : BaseEntity
    {
        private Guid _id;
        private string _title;
        private string _abstract;
        private DateTime _startTime;
        private DateTime _endTime;
        private int _roomNumber;

        public int RoomNumber
        {
            get
            {
                return this._roomNumber;
            }
            set
            {
                this._roomNumber = value;
                RaisePropertyChanged("RoomNumber");
            }
        }

        public EventId ResourceId
        {
            get
            {
                return new EventId(_roomNumber);
            }
            set
            {
                this._roomNumber = (int)value.KeyValue;
                RaisePropertyChanged("ResourceId");
            }
        }

        public Guid Id
        {
            get
            {
                return this._id;
            }
            set
            {
                this._id = value;
                RaisePropertyChanged("Id");
            }
        }

        public string Title
        {
            get
            {
                return this._title;
            }
            set
            {
                this._title = value;
                RaisePropertyChanged("Title");
            }
        }

        public string Abstract
        {
            get
            {
                return this._abstract;
            }
            set
            {
                this._abstract = value;
                RaisePropertyChanged("Abstract");
            }
        }

        public DateTime StartTime
        {
            get
            {
                return this._startTime;
            }
            set
            {
                this._startTime = value;
                RaisePropertyChanged("StartTime");
            }
        }

        public DateTime EndTime
        {
            get
            {
                return this._endTime;
            }
            set
            {
                this._endTime = value;
                RaisePropertyChanged("EndTime");
            }
        }

    }
}
