import { MyPmstypeModel, PmstypeModel } from "./pmstype.model"

export interface PmstopicModel {
    pmsTopicId: string
    pmsType: PmstypeModel
    companyId: string
    lineNo: number
    edesc: string
    tdesc: string
    indicatorsDetail: string
    performanceGoalsDetail: string
    weight: number
    detailUnit: string
    completionDate: string
    targetAdetail: string
    targetBdetail: string
    targetCdetail: string
    targetDdetail: string
    targetEdetail: string
}

export class MyPmstopicModel implements PmstopicModel {
    pmsTopicId: string
    pmsType: PmstypeModel
    companyId: string
    lineNo: number
    edesc: string
    tdesc: string
    indicatorsDetail: string
    performanceGoalsDetail: string
    weight: number
    detailUnit: string
    completionDate: string
    targetAdetail: string
    targetBdetail: string
    targetCdetail: string
    targetDdetail: string
    targetEdetail: string
    constructor(data?: Partial<PmstopicModel>) {
        this.pmsTopicId = data?.pmsTopicId || ""
        this.pmsType = new MyPmstypeModel(data?.pmsType)
        this.companyId = data?.companyId || ""
        this.lineNo = data?.lineNo ?? 0
        this.edesc = data?.edesc || ""
        this.tdesc = data?.tdesc || ""
        this.indicatorsDetail = data?.indicatorsDetail || ""
        this.performanceGoalsDetail = data?.performanceGoalsDetail || ""
        this.weight = data?.weight ?? 0
        this.detailUnit = data?.detailUnit || ""
        this.completionDate = data?.completionDate || ""
        this.targetAdetail = data?.targetAdetail || ""
        this.targetBdetail = data?.targetBdetail || ""
        this.targetCdetail = data?.targetCdetail || ""
        this.targetDdetail = data?.targetDdetail || ""
        this.targetEdetail = data?.targetEdetail || ""
    }
}

