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); }