using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AMESCoreStudio.WebApi.Models.AMES;
using AMESCoreStudio.WebApi.Models.BAS;
using AMESCoreStudio.WebApi.DTO.AMES;

namespace AMESCoreStudio.Web.ViewModels.PCS
{
    public class WipNoDetailViewModel
    {
        public WipNoDetailViewModel()
        {
            wipBarcodes = new List<WipBarcode>();
            ruleStations = new List<RuleStationDto>();
            materialSops = new List<MaterialSopDto>();
            WipKps = new List<WipKpDto>();
            Outfits = new List<MaterialOutfit>();
            WipSops = new List<WipSopDto>();
            WipOutfits = new List<WipOutfitDto>();
            wipInfoBlobs = new List<WipInfoBlob>();
            wipMACs = new List<WipMAC>();
            wipBarcodeOther = new WipBarcodeOther();

        }

        /// <summary>
        /// 工單屬性
        /// </summary>
        public WipAtt wipAtt { get; set; }

        /// <summary>
        /// 生產序號
        /// </summary>
        public WipBarcode wipBarcode { get; set; }

        /// <summary>
        /// 板卡資訊
        /// </summary>
        public WipBoard wipBoard { get; set; }

        /// <summary>
        /// 系統組裝
        /// </summary>
        public WipSystem wipSystem { get; set; }

        public IEnumerable<WipBarcode> wipBarcodes { get; set; }

        public IEnumerable<RuleStationDto> ruleStations { get; set; }

        public IEnumerable<MaterialSopDto> materialSops { get; set; }

        public List<WipKpDto> WipKps { get; set; }

        public IEnumerable<WipOutfitDto> WipOutfits { get; set; }

        public IEnumerable<WipSopDto> WipSops { get; set; }

        public IEnumerable<MaterialOutfit> Outfits { get; set; }

        public IEnumerable<WipInfoBlob> wipInfoBlobs { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public WipSop wipSop { get; set; }

        /// <summary>
        /// 標籤
        /// </summary>
        public WipLabel wipLabel { get; set; }

        /// <summary>
        /// MAC
        /// </summary>
        public IEnumerable<WipMAC> wipMACs { get; set; }

        /// <summary>
        /// 條碼區間設定
        /// </summary>
        public WipBarcodeOther wipBarcodeOther { get; set; }

        /// <summary>
        /// 工單圖檔資料
        /// </summary>
        public WipInfoBlob wipInfoBlob { get; set; }

        /// <summary>
        /// 料號對應工時
        /// </summary>
        public string itemNoCT1 { get; set; }

    }

    public class WipDataViewModel : WipNoDetailViewModel
    {
        public WipDataViewModel()
        {

        }

        /// <summary>
        /// 工單資料
        /// </summary>
        public WipInfo wipInfo { get; set; }
    }
}