using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using EMIS.Entities;

namespace EMIS.ViewModel.TeachingMaterial
{
    public class TeachingMaterialPoolImportView
    {
        /// <summary>
        /// 教材ID
        /// </summary>
        [DisplayName("教材ID")]
        public Guid TeachingMaterialPoolID { get; set; }

        /// <summary>
        /// 教材编号
        /// </summary>
        /// [Required]
        [DisplayName("教材编号")]
        [Required]
        public string TeachingMaterialCode { get; set; }

        /// <summary>
        /// 教材名称
        /// </summary>
        [DisplayName("教材名称")]
        [Required]
        public string TeachingMaterialName { get; set; }

        /// <summary>
        /// 教材名称
        /// </summary>
        [DisplayName("教材简称")]
        //[Required]
        public string TeachingMaterialShorName { get; set; }

        /// <summary>
        /// 课程名称
        /// </summary>
        [DisplayName("课程名称")]
        [Required]
        public string CoursematerialName { get; set; }

        /// <summary>
        /// ISBN
        /// </summary>
        [DisplayName("ISBN")]
        [Required]
        public string ISBN { get; set; }

        /// <summary>
        ///教材类型
        /// </summary>
        [DisplayName("教材类型")]

        public int? TeachingMaterialTypeID { get; set; }


        /// <summary>
        ///教材类型
        /// </summary>
        [DisplayName("教材类型")]
        public string TeachingMaterialTypeName { get; set; }



        /// <summary>
        /// 获奖级别
        /// </summary>
        [DisplayName("获奖级别")]

        public int? WnningLevel { get; set; }


        /// <summary>
        /// 获奖级别
        /// </summary>
        [DisplayName("获奖级别")]
        public string WnningLevelName { get; set; }

        /// <summary>
        /// 版本时间
        /// </summary>
        [DisplayName("版本时间")]

        public string PublishTime { get; set; }


        /// <summary>
        /// 出版单位ID
        /// </summary>
        [DisplayName("出版单位ID")]
        [Required]
        public Guid? PublishID { get; set; }


        /// <summary>
        /// 出版单位
        /// </summary>
        [DisplayName("出版单位")]
        [Required]
        public string PublishName { get; set; }

        /// <summary>
        /// 作者
        /// </summary>
        [DisplayName("作者")]
        [Required]
        public string Author { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        [DisplayName("单价")]
        [Required]
        [RegularExpression(@"^\d+(\.\d{1,2})?$", ErrorMessage = "必须填写有效的价格")]
        public decimal? Price { get; set; }


        /// <summary>
        /// 折合价
        /// </summary>
        [DisplayName("折合价")]
        public decimal? DiscountPrice { get; set; }

        /// <summary>
        /// 是否过期
        /// </summary>
        [DisplayName("是否过期")]
        [Required]
        public bool IsLate { get; set; }


        public string IsLateName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string Desc { get; set; }

        /// <summary>
        /// 错误信息
        /// </summary>
        [DisplayName("错误信息")]
        public string ErrorMessage { get; set; }


        /// <summary>
        /// 创建时间
        /// </summary>
        [DisplayName("创建时间")]
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [DisplayName("创建人")]
        public string CreateUserName { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [DisplayName("修改时间")]
        public DateTime? ModifyTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        [DisplayName("修改人")]
        public string ModifyUserName { get; set; }

        /// <summary>
        /// 征订数量(用于教师征订)
        /// </summary>
        [DisplayName("征订数量")]
        public int? OrderQty { get; set; }

        /// <summary>
        /// 课程级别(用于学生征订)
        /// </summary>
        [DisplayName("课程级别")]
        public string CourseLevelName { get; set; }

        /// <summary>
        /// 课程科类(用于学生征订)
        /// </summary>
        [DisplayName("课程科类")]
        public string CourseScienceName { get; set; }

        /// <summary>
        /// 折扣率
        /// </summary>
        [DisplayName("折扣率")]
        public decimal? Discount { get; set; }


        /// <summary>
        /// 最小库存量
        /// </summary>
        [DisplayName("最小库存量")]
        [Required]
        [RegularExpression(@"^[1-9]\d*$", ErrorMessage = "必须填写正整数")]
        public int? MinInventory { get; set; }

        /// <summary>
        /// 当前库存量
        /// </summary>
        [DisplayName("当前库存量")]
        public int? PresentInventory { get; set; }

        /// <summary>
        /// 总价
        /// </summary>
        [DisplayName("总价")]
        public decimal? ZongJia { get; set; }

        /// <summary>
        /// 码洋
        /// </summary>
        [DisplayName("码洋")]
        public decimal? MaYang { get; set; }

        private bool _isExcelVaildateOK = true;

        /// <summary>
        /// Excel验证是否通过,默认为true
        /// <para>true:通过;false:不通过</para>
        /// </summary>
        public bool IsExcelVaildateOK
        {
            get { return _isExcelVaildateOK; }
            set { _isExcelVaildateOK = value; }
        }
    }
}