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

namespace LHDN.CRM.Models.ViewModels
{
    public class AdminStatusLevelUpdateViewModel
    {
        public AdminStatusLevel1 Statuslevel1 { get; set;}
        public List<ChangeHistoryUpdateViewModel> ChangeHistory { get; set; }

    }

    public class AdminStatusLevel1
    {
        public int StatusLevel1ID { get; set; }
        public string StatusLevel1Name { get; set; }
        public int StatusLevel2ID { get; set; }
        public string StatusLevel2Name { get; set; }
        public int StatusLevel3ID { get; set; }
        public string StatusLevel3Name { get; set; }
        public bool IsActive { get; set; }
        public bool IsActiveLevel2 { get; set; }
        public bool IsActiveLevel3 { 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<AdminStatusLevel2> StatusLevel2 { get; set; }
    }

    public class AdminStatusLevel2
    {
        public int StatusLevel2ID { get; set; }
        public int StatusLevel1ID { get; set; }
        public string StatusLevel2Name { 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<AdminStatusLevel3> StatusLevel3 { get; set; }
    }

    public class AdminStatusLevel3
    {
        public int StatusLevel3ID { get; set; }
        public int StatusLevel2ID { get; set; }
        public string StatusLevel3Name { get; set; }
        public bool IsActive { get; set; }
        public bool IsSystem { get; set; }
        public string CreatedBy { get; set; }
        public DateTime CreatedDatetime { get; set; }
        public string LastUpdatedBy { get; set; }
        public DateTime LastUpdatedDatetime { get; set; }
    }
}
