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>();
            wipMAC = new 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 IEnumerable<WipKpDto> WipKps { get; set; }

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

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

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

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

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

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

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

    public class WipDataViewModel : WipNoDetailViewModel
    {

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