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

namespace Ropin.Inspection.Model.ViewModel.MTN
{
    /// <summary>
    /// 报警工单实体
    /// </summary>
    public class AlarmOrderViewModel: BaseViewModel
    {
        public string C_ID { get; set; }
        public string C_Name { get; set; }
        public string C_PushMsgResultCode { get; set; }
        public string C_MessageCode { get; set; }
        public string C_MsgTypeCode { get; set; }
        public string C_DevStoreCode { get; set; }
        public string C_DevName { get;set; }
        public string C_StoreCode { get; set; }
        public string C_ExamineBy { get; set; }
        public string C_ExamineName { get; set; }
        public DateTime? D_ExamineOn { get; set; }
        public string C_Remark { get; set; }
        public string C_CreateBy { get; set; }
        public string C_CreateName { get; set; }
        public DateTime D_CreateOn { get; set; }
        public string C_LastUpdatedBy { get; set; }
        public DateTime? D_LastUpdatedOn { get; set; }
        public string C_Status { get; set; } = "1";
        public string C_Content { get; set; }
        public List<AlarmOrderRecordViewModel> historyRecord { get; set; }
        public List<MessageFileViewModel> messageFile { get; set; }
    }

    /// <summary>
    /// 报警处理记录实体
    /// </summary>
    public class AlarmOrderRecordViewModel : BaseViewModel
    {
        public string C_ID { get; set; }
        public string C_AlarmOrderCode { get; set; }
        public string C_AlarmOrderName { get; set; }
        public string C_Record { get; set; }
        public string C_Remark { get; set; }
        public string C_CreateBy { get; set; }
        public string C_CreateName { get; set; }
        public DateTime D_CreateOn { get; set; }
        public string C_Status { get; set; } = "1";
        public List<AlarmOrderFile> fileList { get; set;}

    }
    public class AddAlarmOrderViewModel
    {
        public string C_Name { get; set; }
        public string C_PushMsgResultCode { get; set; }
        public string C_MessageCode { get; set; }
        public string C_ExamineBy { get; set; }
        public DateTime? D_ExamineOn { get; set; }
        public string C_Remark { get; set; }
        public string C_CreateBy { get; set; }
        public DateTime D_CreateOn { get; set; }
        public string C_LastUpdatedBy { get; set; }
        public DateTime? D_LastUpdatedOn { get; set; }
        public string C_Status { get; set; } = "1";
        public string C_Record { get; set; }
        public List<AlarmOrderFile> fileList { get; set; }
    }

    public class UpdateAlarmOrderViewModel
    {
        public string C_ID { get; set; }
        public string C_Remark { get; set; }
        public string C_Status { get; set; } = "1";
        public string C_Record { get; set; }
        public List<AlarmOrderFile> fileList { get; set; }
        //public List<UpdateAlarmOrderRecord> historyRecords { get; set; }
    }
    public class AlarmOrderFile
    {
        public string C_Name { get; set; }
        public string C_Url { get; set; }
        public string C_Type { get; set; }
    }
    public class UpdateAlarmOrderRecord
    {
        public string C_ID { get; set; }
        public string C_Record { get; set; }
        public string C_Remark { get; set; }
        public string C_Status { get; set; } = "1";
        public List<AlarmOrderFile> fileList { get; set; }
    }
    public class AlarmOrderStatistics
    {
        public object Approval { get; set; }//1
        public object Confirm { get; set; }//2
        public object RepairOn { get; set; }//3
        public object Complete { get; set; }//4
        public object Cancel { get; set; }//5
        public object RepairRework { get; set; }//6
        public object RepairCompleted { get; set; }//7
    }
}