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

namespace LHDN.CRM.Models.ViewModels
{
    public class HCLEmailBlastBatchListingViewModel
    {
        public long RowNum { get; set; } //RowNum int64 in db so must use long
        public string JenisKempenName { get; set; }
        public int JenisKempenID { get; set; }
        public string EmailBatchRefNo { get; set; }
        public int EmailBatchID { get; set; }
        public int TotalRecords { get; set; }
        public int TotalSuccess { get; set; }
        public int TotalFailed { get; set; }
        public int TotalValidRecords { get; set; }
        public int TotalInvalidRecords { get; set; }
        public string UploadedByName { get; set; }
        public DateTime? UploadedDateTime { get; set; }
        public string ImportedByName { get; set; }
        public DateTime? ImportedDateTime { get; set; }
        public int StatusID { get; set; }
        public string StatusName { get; set; }
        public bool BatchHasError { get; set; }
        public string FileName { get; set; }
    }

    public class HCLEmailBlastBatchPagedListViewModel : DataTableViewModel
    {
        public int JenisKempenID { get; set; }
        public DateTime? DateFrom { get; set; }
        public DateTime? DateTo { get; set; }
        public string BatchRefNo { get; set; }
        public string UploadedByName { get; set; }
    }

    public class HCLEmailBlastDataListingViewModel
    {
        public long RowNum { get; set; }
        public string NamaPembayarCukai { get; set; }
        public string Email { get; set; }
        public long EmailDataID { get; set; }
        public int JenisKempenID { get; set; }
        public string JenisFailCukai { get; set; }
        public string NoRujukanCukai { get; set; }
        public string StatusName { get; set; }
        public bool HasError { get; set; }
        public int EmailBlastStatusID { get; set; }
    }

    public class HCLEmailBlastDataPagedListViewModel : DataTableViewModel
    {
        public int JenisKempenID { get; set; }
        public int BatchID { get; set; }
    }
}
