using Ropin.Inspection.Model.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ropin.Inspection.Model
{
    public class TprdProductViewModel : BaseViewModel
    {
        public Guid C_Code { get; set; }
        public string C_QRCode { get; set; }
        public string C_SKUCode { get; set; }
        public string C_StoreCode { get; set; }
        public string C_DeviceCode { get; set; }
        public Guid? C_SpotCode { get; set; }
        public string C_AreaCode { get; set; }
        public decimal? F_Map_X { get; set; }
        public decimal? F_Map_Y { get; set; }
        public DateTime? D_ProdDate { get; set; }
        public DateTime? D_ValiDate { get; set; }
        public string C_ImageUrl { get; set; }
        public DateTime? D_LastISP { get; set; }
        public int? I_IsAlarm { get; set; }
        public string C_AlarmMsg { get; set; }
        public int? I_Sort { 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 int I_Status { get; set; }

        public string SpotName { get; set; }
        public string AreaName { get; set; }
        public string StoreName { get; set; }
        public string DeviceName { get; set; }
        public string SKUName { get; set; }

        public bool IsDevice { get; set; } = false;
        public string DeviceMachineCode { get; set; }
        public string DeviceRemark { get; set; }
        public string DeviceStatus { get; set; }


    }
    public class TprdProductWithDataViewModel: TprdProductViewModel
    {
        public string DevDataConfigName { get; set; }
        public string DevDataValue { get; set; }
        public DateTime DevDataTime { get; set; }
        public string DevName { get; set; }
        public string DevMachineCode { get; set; }

        public string DevAlertConfigName { get; set; }
        public string DevAlertValue { get; set; }
        public DateTime DevAlertTime { get; set; }
        //后来增加的SKU信息
        public string C_Name { get; set; }
        public string C_Spec { get; set; }
        public string C_Brand { get; set; }
        public string C_Vender { get; set; }
        public string C_ProdArea { get; set; }



    }
    public class AllProductWithDevViewModel : BaseViewModel
    {
        public Guid C_Code { get; set; }
        public string C_QRCode { get; set; }
        public string C_SKUCode { get; set; }
        public string C_StoreCode { get; set; }
        public string C_DeviceCode { get; set; }
        public Guid? C_SpotCode { get; set; }
        public string C_AreaCode { get; set; }
        public decimal? F_Map_X { get; set; }
        public decimal? F_Map_Y { get; set; }
        public DateTime? D_ProdDate { get; set; }
        public DateTime? D_ValiDate { get; set; }
        public string C_ImageUrl { get; set; }
        public DateTime? D_LastISP { get; set; }
        public int? I_IsAlarm { get; set; }
        public string C_AlarmMsg { get; set; }
        public int? I_Sort { 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 int I_Status { get; set; }
        public IEnumerable<DevData> DevDatas { get; set; }
        public string C_Name { get; set; }
        public string C_Spec { get; set; }
        public string C_Brand { get; set; }
        public string C_Vender { get; set; }
        public string C_ProdArea { get; set; }
    }
    public class DevData
    {
        public string DevDataConfigName { get; set; }
        public string DevDataValue { get; set; }
        public DateTime DevDataTime { get; set; }
        public string DevName { get; set; }
        public string DevMachineCode { get; set; }
        public string DevAlertConfigName { get; set; }
        public string DevAlertValue { get; set; }
        public DateTime DevAlertTime { get; set; }
    }

    public class TprdDeviceByAreaViewModel : BaseViewModel
    {
        //public Guid C_Code { get; set; }
        //public string C_QRCode { get; set; }
        //public string C_SKUCode { get; set; }
        //public string C_StoreCode { get; set; }
        //public string C_DeviceCode { get; set; }
        //public Guid? C_SpotCode { get; set; }
        //public string C_AreaCode { get; set; }
        //public decimal? F_Map_X { get; set; }
        //public decimal? F_Map_Y { get; set; }
        //public DateTime? D_ProdDate { get; set; }
        //public DateTime? D_ValiDate { get; set; }
        //public string C_ImageUrl { get; set; }
        //public DateTime? D_LastISP { get; set; }
        //public int? I_IsAlarm { get; set; }
        //public string C_AlarmMsg { get; set; }
        //public int? I_Sort { 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 int I_Status { get; set; }

        //public string SpotName { get; set; }
        //public string AreaName { get; set; }
        //public string StoreName { get; set; }
        public string DeviceCode { get; set; }
        public string DeviceName { get; set; }
        //public string SKUName { get; set; }

        //public bool IsDevice { get; set; } = false;
        public string DeviceMachineCode { get; set; }
        //public string DeviceRemark { get; set; }
        public string DeviceStatus { get; set; }


    }
}