public ActionResult Index()

        {
            List <DashboardViewModel> dashboardItems = new List <DashboardViewModel>();
            List <DashboardViewModel> items          = new List <DashboardViewModel>();
            var viewModel = new DashboardViewModels();

            SupportService   supportService   = new SupportService();
            TimeSheetService timesheetService = new TimeSheetService();
            ExpenseService   expenseService   = new ExpenseService();
            LOAService       loaService       = new LOAService();

            var roles = ((ClaimsIdentity)User.Identity).Claims
                        .Where(c => c.Type == ClaimTypes.Role)
                        .Select(c => c.Value);

            if (roles.Contains("TimeSheetAdmin"))
            {
                viewModel.AdminPendingExpensesCount   = expenseService.GetPendingExpensesCount();
                viewModel.AdminPendingLOAsCount       = loaService.GetPendingLOAsCount();
                viewModel.AdminPendingTimesheetsCount = timesheetService.GetPendingTimesheetsCount();

                //    viewModel.DasboardList.AddRange(ExpenseModuleAdmin());
            }
            else if (roles.Contains("TimeSheetManager"))
            {
                viewModel.ManagerPendingTimesheetsCount = timesheetService.GetPendingTimesheetsCount();
                viewModel.MangerPendingExpensesCount    = expenseService.GetPendingExpensesCount();
                viewModel.MangerPendingLOAsCount        = loaService.GetPendingLOAsCount();
                //    viewModel.DasboardList.AddRange(TimeSheetModuleManager());
                //    viewModel.DasboardList.AddRange(LOAModuleManager());
                //    items.AddRange(ExpenseModuleManager());
            }

            if (roles.Contains("TimeSheetReportingManager"))
            {
                viewModel.ReportingManagerPendingExpensesCount   = expenseService.GetPendingExpensesCount(User.Identity.GetUserId());
                viewModel.ReportingManagerPendingLOAsCount       = loaService.GetPendingLOAsCount(User.Identity.GetUserId());
                viewModel.ReportingManagerPendingTimesheetsCount = timesheetService.GetPendingTimesheetsCount(User.Identity.GetUserId());
                //    viewModel.DasboardList.AddRange(TimeSheetModuleReportingManager());
                //    viewModel.DasboardList.AddRange(LOAModuleReportingManager());
                //    viewModel.DasboardList.AddRange(ExpenseModuleReportingManager());
            }

            if (roles.Contains("SupportUser"))
            {
                //viewModel.DasboardList.AddRange(SupportModuleUserPendingRequest());
                //viewModel.DasboardList.AddRange(SupportModuleUserDoneRequest());
                //viewModel.DasboardList.AddRange(SupportModuleUserClosedRequest());
                viewModel.MyPendingRequestsCount = supportService.GetMyPendingRequestsCount(User.Identity.GetUserId());
                viewModel.MyClosedRequestsCount  = supportService.GetMyClosedRequestsCount(User.Identity.GetUserId());
                viewModel.MyDoneRequestsCount    = supportService.GetMyDoneRequestsCount(User.Identity.GetUserId());
            }



            //viewModel.DasboardList.AddRange(items);

            //dashboardItems.AddRange(items);

            return(View(viewModel));
        }