using System.Collections.Generic;
using Hitsuji.Framework.DataClient.Model;
using PostCardHitsuji.DataClient.DAO;

namespace PostCardHitsuji.DataClient.Model
{
    public class IllustLayoutContentModel : BaseContentModel, IDaoContentModel
    {
        public IllustLayoutContentModel()
        {
            Id = "";
            Enable = true.ToString().ToUpper();
//            layoutType_ = LAYOUT_TYPE_ILLUST;
            year_ = "0000";
            layoutName_ = "";
            layoutVector_ = "V";
            IllustItemList = new List<IllustItemContentModel>();
            MsgItemList = new List<MsgItemContentModel>();
        }

        public const string LAYOUT_TYPE_ILLUST = "ILLUST_LAYOUT";
        public const string LAYOUT_TYPE_RESEIVER = "RESEIVER_LAYOUT";

        private string layoutType_;
        public string layoutType
        {
            get { return layoutType_; }
            set { layoutType_ = value; }
        }

        private string year_;
        public string year
        {
            get { return year_; }
            set { year_ = value; }
        }

        private string layoutName_;
        public string layoutName
        {
            get { return layoutName_; }
            set { layoutName_ = value; }
        }

        private string layoutVector_;
        public string layoutVector
        {
            get { return layoutVector_; }
            set { layoutVector_ = value; }
        }

        public List<IllustItemContentModel> IllustItemList = null;
        public List<MsgItemContentModel> MsgItemList = null;

        protected override void onBasePropertyChanged(string propertyName, object oldValue, object newValue)
        {
            //throw new System.NotImplementedException();
        }

        public override List<AbsoluteDataResult> IsAbsoluteData()
        {
            throw new System.NotImplementedException();
        }

        public override IContentModel DeepCopy()
        {
            var model = new IllustLayoutContentModel();
            model.Id = this.Id;
            model.Enable = this.Enable;
            model.layoutName = this.layoutName_;
            model.IllustItemList = this.IllustItemList;
            model.MsgItemList = this.MsgItemList;
            return model;
        }
    }
}
