using Ewide.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ewide.Application
{
    public class HouseTaskInput 
    {
        [Required(ErrorMessage = "巡查日期不能为空")]
        public DateTime PatrolDate { get; set; }

        [Required(ErrorMessage = "巡查人员/单位不能为空")]
        public string PatrolUser { get; set; }

        /// <summary>
        /// 沉降倾斜
        /// </summary>
        public string SettlementTilt { get; set; }

        /// <summary>
        /// 沉降倾斜附件
        /// </summary>
        public string SettlementTiltFiles { get; set; }

        /// <summary>
        /// 其他情况
        /// </summary>
        public string OtherInfo { get; set; }

        /// <summary>
        /// 其他情况附件
        /// </summary>
        public string OtherInfoFiles { get; set; }

        //[Required(ErrorMessage = "巡查初始等级不能为空")]
        public int InitGrade { get; set; }
        //[Required(ErrorMessage = "巡查损坏等级不能为空")]
        public int DamageGrade { get; set; }
        //[Required(ErrorMessage = "巡查综合等级不能为空")]
        public int ComprehensiveGrade { get; set; }
        #region 调查情况investigation
        /// <summary>
        /// 房屋场地
        /// </summary>
        public string HouseSite { get; set; }

        /// <summary>
        /// 相邻施工
        /// </summary>
        public string AdjacentConstruction { get; set; }

        /// <summary>
        /// 化学侵蚀
        /// </summary>
        public string ChemicalErosion { get; set; }

        /// <summary>
        /// 结构拆改
        /// </summary>
        public int? StructuralDismantling { get; set; }

        /// <summary>
        /// 加层改造
        /// </summary>
        public int? AddingLayer { get; set; }

        /// <summary>
        /// 修缮加固
        /// </summary>
        public string RepairAndReinforce { get; set; }

        /// <summary>
        /// 历史灾害
        /// </summary>
        public string HistoricalCalamity { get; set; }

        /// <summary>
        /// 使用功能变更
        /// </summary>
        public string FunctionalChange { get; set; }

        /// <summary>
        /// 其他调查内容
        /// </summary>
        public string OtherContents { get; set; }
        #endregion
        /// <summary>
        /// 主要安全隐患综述
        /// </summary>
        public string MainSafety { get; set; }

        /// <summary>
        /// 处理意见
        /// </summary>
        public int? HandlingOpinion { get; set; }

        /// <summary>
        /// 处理意见备注
        /// </summary>
        public string HandlingOpinionRemark { get; set; }

        /// <summary>
        /// 整改情况
        /// </summary>
        public int? RectifyAndReform { get; set; }

        /// <summary>
        /// 整改情况备注
        /// </summary>
        public string RectifyAndReformRemark { get; set; }

        /// <summary>
        /// 巡查结果：1正常,-1异常
        /// </summary>
        //[Required(ErrorMessage = "巡查结果不能为空")]
        public int PatrolResult { get; set; }

        public string PatrolResultRemark { get; set; }

        /// <summary>
        /// 上报街道
        /// </summary>
        public int? ReportRoad { get; set; }

        /// <summary>
        /// 上报街道时间
        /// </summary>
        public DateTime? ReportRoadTime { get; set; }

        /// <summary>
        /// 上报区住建
        /// </summary>
        public int? ReportArea { get; set; }

        /// <summary>
        /// 上报区住建时间
        /// </summary>
        public DateTime? ReportAreaTime { get; set; }

        /// <summary>
        /// 上报备注
        /// </summary>
        public string ReportRemark { get; set; }
    }

    public class AddHouseTaskInput : HouseTaskInput
    {

    }

    public class EditHouseTaskInput : HouseTaskInput
    {
        [Required(ErrorMessage = "任务Id不能为空")]
        public string Id { get; set; }
    }

    public class SubmitHouseTaskInput
    {
        [Required(ErrorMessage = "任务Id不能为空")]
        public string TaskId { get; set; }
    }

    public class QueryHouseTaskInput : PageInputBase
    {

    }
}
