using Ropin.Inspection.Model.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;

namespace Ropin.Inspection.Model
{
    public class TmtnRepairOrderViewModel : BaseViewModel
    {
        public string C_ID { get; set; }
        public string C_Name { get; set; }

        public string C_DevStoreCode { get; set; }

        public string C_RepairContent { get; set; }

        public Guid C_ExamineBy { get; set; }

        public DateTime C_ExamineOn { get; set; }

        public string C_Url { get; set; }
        
        public string C_Remark { get; set; }
        public Guid C_CreateBy { get; set; }
        public DateTime D_CreateOn { get; set; }
        public Guid? C_LastUpdatedBy { get; set; }
        public DateTime? D_LastUpdatedOn { get; set; }
        public string C_Status { get; set; }

        public IList<string> FilePaths { get; set; }

        public string CreateByName { get; set; }
    }

    public class TmtnRepairOrderWithImageViewModel : BaseViewModel
    {
        public string C_ID { get; set; }
        public string C_Name { get; set; }

        public string C_DevStoreCode { get; set; }

        //public string C_RepairContent { get; set; }

        //public Guid C_ExamineBy { get; set; }

        //public DateTime C_ExamineOn { get; set; }

        public string C_Url { get; set; }

        //public string C_Remark { get; set; }
        //public Guid C_CreateBy { get; set; }
        public DateTime D_CreateOn { get; set; }
        //public Guid? C_LastUpdatedBy { get; set; }
        //public DateTime? D_LastUpdatedOn { get; set; }
        public string C_Status { get; set; }

        public string C_CreateUserName { get; set; }
        public string C_DevStoreName { get; set; }
        //public IList<string> FilePaths { get; set; }
    }

    public class TmtnRepairOrderRecordDetailViewMode : BaseViewModel
    {
        public string C_ID { get; set; }

        public string C_Name { get; set; }

        public string C_DevStoreCode { get; set; }


        public string C_RepairContent { get; set; }

        public Guid C_ExamineBy { get; set; }

        public DateTime C_ExamineOn { get; set; }

        public string C_OpsTempCode { get; set; }
        public string C_PlanTempCode { get; set; }
        public string C_RepairTempCode { get; set; }
        public string C_RunTempCode { get; set; }
        public string C_Url { get; set; }

        public string C_Remark { get; set; }

        public Guid C_CreateBy { get; set; }

        public DateTime D_CreateOn { get; set; }

        public Guid? C_LastUpdatedBy { get; set; }

        public DateTime? D_LastUpdatedOn { get; set; }

        public string C_Status { get; set; }
        public string DevStoreImage { get; set; }
        public string DevName { get; set; }
        public string DevNumberCode { get; set; }
        public string DevTempImage { get; set; }
        public string CreateByName { get; set; }
        public string LastUpdatedByName { get; set; }

        public string C_Manufacturer { get; set; }//设备制造商
        public string C_Parameter { get; set; }//设备性能参数
        public string C_Marker { get; set; }//设备型号规格
        //设备业主使用单位:
        public string StoreName { get; set; }	
        //设备管理员/电话:	
        public string DevManager { get; set; }
        //设备运维员/电话:	
        public string DevOpser { get; set; }
        public DateTime DevCreateOn { get; set; }


        public IEnumerable<RepairOrderItemViewMode>  RepairOrderRecordItems {get; set; }
}
    public class RepairOrderItemViewMode
    {
        public string C_ID { get; set; }
        
        public string C_RepairCode { get; set; }

        public string C_RepairRecord { get; set; }




        public string C_Url { get; set; }
      
        public string C_Remark { get; set; }
       
        public string CreateUserName { get; set; }
      
        public DateTime D_CreateOn { get; set; }

        public string C_Status { get; set; } 
    }

    public class DevOpsRecordItemViewMode
    {
        public string C_ID { get; set; }

        public string C_RepairCode { get; set; }

        public string C_Record { get; set; }


        public string C_SpotDevOpsContentCode{ get; set; }

       // public string C_Url { get; set; }

        public string C_Remark { get; set; }

        public string CreateUserName { get; set; }

        public DateTime D_CreateOn { get; set; }

        public string C_Status { get; set; }

        public string C_SolidWaste { get; set; }
    }

    public class TmtnRepairOrderItemDetailViewMode
    {
        public string C_RepairCode { get; set; }
        public string C_Manufacturer { get; set; }//设备制造商
        public string C_Parameter { get; set; }//设备性能参数
        public string C_Marker { get; set; }//设备型号规格
        //设备业主使用单位:
        public string StoreName { get; set; }
        //设备管理员/电话:	
        public string DevManager { get; set; }
        //设备运维员/电话:	
        public string DevOpser { get; set; }
        public DateTime DevCreateOn { get; set; }

        public string C_Logo { get; set; }


        public IEnumerable<RepairOrderItemViewMode> RepairOrderRecordItems { get; set; }
    }

    public class TmtnDevOpsRecordItemDetailViewMode
    {
        public string C_DevOpsCode { get; set; }
        public string C_Manufacturer { get; set; }//设备制造商
        public string C_Parameter { get; set; }//设备性能参数
        public string C_Marker { get; set; }//设备型号规格
        //设备业主使用单位:
        public string StoreName { get; set; }
        //设备管理员/电话:	
        public string DevManager { get; set; }
        //设备运维员/电话:	
        public string DevOpser { get; set; }
        public DateTime DevCreateOn { get; set; }

        public string C_Logo { get; set; }


        public IEnumerable<DevOpsRecordItemViewMode> DevOpsRecordItems { get; set; }
        public List<SolidWaste> DevOpsRecordSolidWasteItems { get; set; }
    }
    public class RepairStatistics : BaseViewModel
    {
        public object Approval { get; set; }
        public object Confirm { get; set; }
        public object RepairOn { get; set; }
        public object Complete { get; set; }
        public object Cancel { get; set; }
        public object RepairRework { get; set; }
        public object RepairCompleted { get; set; }
    }
}