using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace HeterogenousData
{
    public class BaseItem : INotifyPropertyChanged
    {
        private readonly string _itemId;
        private readonly string _collectionId;
        private readonly DateTime _creationDate;

        public BaseItem()
        {
            _itemId = Guid.NewGuid().ToString();
            _collectionId = Guid.NewGuid().ToString();
            _creationDate = DateTime.Now;
        }

        public BaseItem(String itemId, String collectionId, DateTime creationDate)
        {
            _itemId = itemId;
            _collectionId = collectionId;
            _creationDate = creationDate;
        }

        public string ItemId
        {
            get
            {
                return _itemId;
            }

        }

        public string CollectionId
        {
            get
            {
                return _collectionId;
            }
        }

        public DateTime CreationDate
        {
            get
            {
                return _creationDate;
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }
 
}
