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

namespace LHDN.CRM.Models.ViewModels
{
    public class DashboardViewModel
    {
        public int DashboardID { get; set; }
        public string DashboardName { get; set; }
        public bool IsActive { get; set; }
        public string CreatedBy { get; set; }
        public DateTime CreatedDateTime { get; set; }
        public DateTime LastUpdatedDateTime { get; set; }
        public string LastUpdatedBy { get; set; }
        public string LastUpdatedByName { get; set; }
        public bool IsAllowAccess { get; set; }
        public List<DashboardZonViewModel> DashboardZones { get; set; }
        public List<DashboardUnitViewModel> DashboardUnit { get; set; }
    }

    public class DashboardZonViewModel
    {
        public int DashboardZonID { get; set; }
        public int DashboardID { get; set; }
        public string DashboardType { get; set; }
        public int ViewTypeID { get; set; }
        public int SavedViewID { get; set; }
        public int Sequence { get; set; }
        public string ZonName { get; set; }
        public bool IsPublished { get; set; }
        public bool IsActive { get; set; }
        public string ChartType { get; set; }
        public string AxisXTitle { get; set; }
        public string AxisYTitle { get; set; }
        public int AxisXFieldMappingID { get; set; }
        public int AxisYFieldMappingID { get; set; }
        public int AxisYChartAction { get; set; }
    }

    public class ChartList
    {
        public List<ChartResult> ChartResults { get; set; }
    }

    public class ChartResult
    {
        public List<DashboardChart> Result { get; set; }
    }


    public class DashboardChart
    {
        public int x { get; set; }
        public dynamic y { get; set; }
        public string Label { get; set; }
    }
    public class DashboardUnitViewModel
    {
        public int DashboardUnitID { get; set; }
        public string Type { get; set; }
        public int UnitID { get; set; }
        public string DisplayName { get; set; }
        public string AdditionalInfo { get; set; }
    }



    public class DashboardListingViewModel : DataTableViewModel
    {
        public int DashboardID { get; set; }
        public string DashboardName { get; set; }
        public bool IsActive { get; set; }
        public string CreatedBy { get; set; }
    }

}
