using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LHDN.CRM.Models.ViewModels
{
    public class AdminKategoryUpdateViewModel
    {
        public AdminKategoryViewModel AdminKategory { get; set; }

        public MainKategoriViewModel MainKategori { get; set; }
        public List<ChangeHistoryUpdateViewModel> ChangeHistory { get; set; }

    }

    public class AdminKategoryViewModel
    {
        public int Kategori1ID { get; set; }
        public string Kategori1Name { get; set; }

        public int Kategori2ID { get; set; }
        public string Kategori2Name { get; set; }
        public string Kategori3Name { get; set; }
        public string DispositionCode1 { get; set; }
        public bool IsActive { get; set; }
        public string CreatedBy { get; set; }
        public DateTime CreatedDatetime { get; set; }
        public string LastUpdatedBy { get; set; }
        public DateTime LastUpdatedDatetime { get; set; }
    }

    public class MainKategoriViewModel
    {
        public int Kategori1ID { get; set; }
        public string Kategori1Name { get; set; }
        public int Kategori2ID { get; set; }
        public string Kategori2Name { get; set; }
        public int Kategori3ID { get; set; }
        public string Kategori3Name { get; set; }
        public string DispositionCode1 { get; set; }
        public string DispositionCode2 { get; set; }
        public string DispositionCode3 { get; set; }
        public bool IsActive { get; set; }
        public bool IsActiveSubKategori { get; set; }
        public bool IsActiveInnerSubKategori { get; set; }
        public int EditMenuMode { get; set; }
        public string CreatedBy { get; set; }
        public DateTime CreatedDatetime { get; set; }
        public string LastUpdatedBy { get; set; }
        public DateTime LastUpdatedDatetime { get; set; }
        public List<SubKategoriViewModel> SubKategori { get; set; }
    }

    public class SubKategoriViewModel
    {
        public int Kategori2ID { get; set; }
        public string Kategori2Name { get; set; }
        public string DispositionCode2 { get; set; }
        public int Kategori1ID { get; set; }
        public bool IsActive { get; set; }
        public string CreatedBy { get; set; }
        public DateTime CreatedDatetime { get; set; }
        public string LastUpdatedBy { get; set; }
        public DateTime LastUpdatedDatetime { get; set; }

        public List<InnerSubKategoriViewModel> InnerSubKategori { get; set; }
    }

    public class InnerSubKategoriViewModel
    {
        public int Kategori3ID { get; set; }
        public string Kategori3Name { get; set; }
        public string DispositionCode3 { get; set; }
        public int Kategori2ID { get; set; }
        public bool IsActive { get; set; }
        public string CreatedBy { get; set; }
        public DateTime CreatedDatetime { get; set; }
        public string LastUpdatedBy { get; set; }
        public DateTime LastUpdatedDatetime { get; set; }
    }

}
