using System;
using System.Collections.Generic;

namespace LHDN.CRM.Models.ViewModels
{
    public class ActivityViewModel
    {

        public long ActivityID { get; set; }

        public string ActRefNo { get; set; }

        public long? TPID { get; set; }

        public long? CaseID { get; set; }

        public long? OutboundID { get; set; }

        public int TotalTaskBlmSelesai { get; set; }

        public long? HCLEmailBlastID { get; set; }

        public string AssignedOfficerLogin { get; set; }

        public string AssignedOfficerName { get; set; }

        public string AssignedOfficerEmail { get; set; }

        public DateTime? AssignedDateTime { get; set; }

        public Boolean? IsTransferToCase { get; set; }

        public Boolean? IsInboundMissCall { get; set; }

        public Boolean? IsOrphanActivity { get; set; }

        public Boolean? IsDraft { get; set; }

        public string InteractionID { get; set; }

        public int? ActChannelID { get; set; }

        public string ActChannelName { get; set; }

        public int? SumberID { get; set; }

        public string SumberName { get; set; }

        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 int? ActStatusID { get; set; }

        public string ActStatus { get; set; }

        public string Reason { get; set; }

        public int? ActStatus1ID { get; set; }

        public string ActStatusLevel1Name { get; set; }

        public int? ActStatus2ID { get; set; }

        public string ActStatusLevel2Name { get; set; }

        public int? ActStatus3ID { get; set; }

        public string ActStatusLevel3Name { get; set; }

        public int? AliranID { get; set; }

        public string Aliran { get; set; }

        public int? LanguageID { get; set; }

        public string Language { get; set; }

        public string Skillset { get; set; }

        public DateTime? PromiseToPayDate { get; set; }

        public int? KodSelesaiID { get; set; }

        public string KodSelesaiDesc { get; set; }

        public string NoBaucer { get; set; }

        public int? TindakanSusulanID { get; set; }

        public string TindakanSusulanDesc { get; set; }

        public int? TahunTaksiran { get; set; }

        public decimal? NilaiKes { get; set; }

        public int? StatusBayaranS104S22ID { get; set; }

        public string StatusBayaranS104S22 { get; set; }

        public int? TahapID { get; set; }

        public string Tahap { get; set; }

        public string TelefonInteraksi { get; set; }
        public string EmailInteraksi { get; set; }
        public string SocialMediaInteraksiID { get; set; }
        public string SocialMediaInteraksiName { get; set; }

        public Int16? CallAttempts { get; set; }

        public bool? IsPelangganPembayarSama { get; set; }

        public long? PelangganTPID { get; set; }

        public int? JenisPelangganID { get; set; }

        public string JenisPelanggan { get; set; }

        public string PelangganNama { get; set; }

        public string PelangganNoCukai { get; set; }

        public string PelangganTelefon { get; set; }

        public string PelangganEmail { get; set; }

        public int? PelangganIDType { get; set; }

        public string PelangganJenisPengenalan { get; set; }

        public string PelangganIDNumber { get; set; }

        public int? PelangganOtherIDType { get; set; }

        public string PelangganOtherJenisPengenalan { get; set; }

        public string PelangganOtherIDNumber { get; set; }

        public int? PelangganLokasiID { get; set; }

        public string PelangganLokasi { get; set; }

        public string PelangganJawatan { get; set; }

        public string TPName { get; set; }

        public string TPNoCukai { get; set; }

        public int? TPIDType { get; set; }

        public string TPJenisPengenalan { get; set; }

        public string TPIDNumber { get; set; }

        public string TPEmail { get; set; }

        public string TPEmailMB { get; set; }

        public string TPTelefon { get; set; }

        public string TPTelefonMB { get; set; }

        public string TPTelefonPejabat { get; set; }

        //public string TPTelefonJPDP { get; set; }

        public string TPFBID { get; set; }

        public string TPFBDisplayName { get; set; }

        public string TPTWID { get; set; }

        public string TPTWDisplayName { get; set; }

        public string Transcript { get; set; }

        public int? JenisKempenID { get; set; }

        public string JenisKempenName { get; set; }

        //public string Description { get; set; }

        public DateTime? LetterFaxReceived { get; set; }

        public int DMSStatusID { get; set; }

        public string DMSStatusName { get; set; }

        public string DMSUrl { get; set; }

        public string CreatedBy { get; set; }

        public string CreatedByName { get; set; }

        public DateTime? CreatedDateTime { get; set; }

        public string LastUpdatedBy { get; set; }

        public string LastUpdatedByName { get; set; }

        public DateTime? LastUpdatedDateTime { get; set; }

        public byte[] ChangeStamp { get; set; }
        //Ansuran fields only
        public int? BilanganAnsuran { get; set; }
        public string MajikanNoCukai { get; set; }
        public string MajikanTelefon { get; set; }
        public string MajikanEmail { get; set; }
        public DateTime? TarikhMulaAnsuran { get; set; }
        public int? JenisAnsuranID { get; set; }
        public string JenisAnsuranName { get; set; }
        public decimal? AnggaranAnsuranPC { get; set; }

        public TPForActivityViewModel TP { get; set; }

        public TPForActivityViewModel TempPelanggan { get; set; }

        public ActVerificationViewModel ActVerification { get; set; }

        public List<ActCatatanViewModel> ActCatatans { get; set; }

        public List<ActAdditionalKategoriViewModel> AdditionalKategoris { get; set; }

        public List<TPForActivityViewModel> TPList { get; set; }

        public ActEmailViewModel ActEmail { get; set; }

        public ActCFFViewModel ActCFF { get; set; }

        public CaseViewModel Case { get; set; }

        public List<ActDocReceivedViewModel> ActDocReceived { get; set; }

        public List<ActKategoriDocReceivedViewModel> KategoriDocReceived { get; set; }

        public NotaTemudugaViewModel NotaTemuduga { get; set; }

        public List<CaseKategoriDocReceivedViewModel> AllDocReceived { get; set; }

        public List<AttachmentViewModel> ActAttachmentList { get; set; }

        public int CurrentUserUnitID { get; set; }

        public dynamic Outbound { get; set; }
        public HCLEmailBlastDetailsViewModel EmailBlast { get; set; }

        public long WorkflowID { get; set; }
        public WorkflowActionViewModel ActWorkflow { get; set; }
        public bool EnableDMSIntegration { get; set; }
        public bool CanCloseCase { get; set; }
        public bool CanCreateUpdateActCatatan { get; set; }
        public bool IsCFFDraft { get; set; }
        public string ManagerFuntionRoleID { get; set; }
        public bool IsUnitManager { get; set; }
        public string UUID { get; set; }
        public string CatatanTranskipPerbualan { get; set; }
        public string TranskripPerbualanURL { get; set; }

        //Enhancement Chew
        public bool? IsDelete { get; set; }
    }
}
