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

namespace LHDN.CRM.Models.ViewModels
{
    public class ReMSBatchListingViewModel
    {
        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 BatchRefNo { get; set; }
        public int BatchID { 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 string ReturnedByName { get; set; }
        public DateTime? ReturnedDateTime { get; set; }
        public string ReturnReason { get; set; }
        //public string CanReturnData { get; set; }
        public string KodSelesaiDesc { get; set; }
        public List<DropdownDetailViewModel> ReturnedReasonOptions { get; set; }
        public bool BatchHasError { get; set; }

    }

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

    public class ReMSDataListingViewModel
    {
        public long RowNum { get; set; }
        public string TPName { get; set; }
        public long DataID { get; set; }
        public int JenisKempenID { get; set; }
        public string NoRujukanCukai { get; set; }
        public short TahunTaksiran { get; set; } //smallint in db so use short
        public string StatusName { get; set; }
        public string ReturnedReason { get; set; }
        public bool HasError { get; set; }
        public int StatusID { get; set; }
    }

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

    public class ReMSBatchReturnViewModel
    {
        public int JenisKempenID { get; set; }
        public int BatchID { get; set; }
        public string ReturnedBy { get; set; }
        public string ReturnedByName { get; set; }
        public DateTime ReturnedDateTime { get; set; }
        public int ReturnReasonID { get; set; }
        public string Remarks { get; set; }
        public string JenisKempenName { get; set; }
    }
}
