public async Task <IActionResult> DashboardData()
        {
            try
            {
                DashboardCardsView ds = await Task.FromResult(_accountService.GetCardDetails());

                return(Ok(ds));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public DashboardCardsView GetCardDetails()
        {
            DashboardCardsView card = new DashboardCardsView();

            try{
                DateTime today = DateTime.Today;
                List <VehicleBooking> bookings = _repositoryFactory.VehicleBookingRepository.GetBookings();

                card.vehicleBookings = _mapper.Map <List <VehicleBookingDto> >(_repositoryFactory.VehicleBookingRepository.GetBookingsWithinRange(today, today.AddDays(7)));
                card.bookings        = card.vehicleBookings.Count;

                int completed, confirmed, cancelled, collected;
                completed = collected = cancelled = confirmed = 0;

                foreach (var v in bookings)
                {
                    switch (v.status)
                    {
                    case "Completed":
                        completed++;
                        break;

                    case "Cancelled":
                        cancelled++;
                        break;

                    case "Confirmed":
                        confirmed++;
                        break;

                    case "Collected":
                        collected++;
                        break;
                    }
                }
                card.cancelledBookings = cancelled;
                card.collectedBookings = collected;
                card.completedBookins  = completed;
                card.confirmedBookings = confirmed;

                card.accounts = GetAccounts();

                List <VehicleDto> vehicles = _mapper.Map <List <VehicleDto> >(_repositoryFactory.VehicleRepository.GetVehicles());
                card.totalVehicles = vehicles.Count;

                int a, b, c, d, e;
                a = b = c = d = e = 0;

                foreach (var v in vehicles)
                {
                    switch (v.type.id)
                    {
                    case 4:
                        a++;
                        break;

                    case 5:
                        b++;
                        break;

                    case 6:
                        c++;
                        break;

                    case 7:
                        d++;
                        break;

                    case 8:
                        e++;
                        break;
                    }
                }
                card.smallTownCar = a;
                card.hatchback    = b;
                card.saloon       = c;
                card.estate       = d;
                card.vans         = e;
            }catch (Exception ex)
            {
                _logger.LogError("Dashboard card view failed: " + ex.Message);
                throw ex;
            }

            return(card);
        }