public CustomerDetailsVM GetCustomerDetailsAndOrders(int id)
        {
            var cDetails = context.Customers.First(c => c.CustomerId == id);
            var cOrders  = context.Orders
                           .Where(o => o.CustomerId == id && o.IsReturned == false)
                           .Select(o => new OrderVM
            {
                BookingNr      = o.BookingNr,
                CustomerId     = o.CustomerId,
                PickUpDate     = o.PickUpDate,
                CurrentMileage = o.CurrentMileage,
            })
                           .ToArray();

            var cHistory = context.HistoryLog
                           .Where(h => h.CustomerId == id)
                           .Select(h => new HistoryLogVM
            {
                CustomerId = h.CustomerId,
                Activity   = h.Activity
            }).ToArray();

            CustomerDetailsVM details = new CustomerDetailsVM();

            details.CustomerId = cDetails.CustomerId;
            details.Ssn        = cDetails.Ssn;
            details.FirstName  = cDetails.FirstName;
            details.LastName   = cDetails.LastName;
            details.Orders     = cOrders;
            details.History    = cHistory;

            return(details);
        }
        /// <summary>
        /// Gets the customer details asynchronous.
        /// </summary>
        /// <returns></returns>
        public async Task <List <CustomerDetailsVM> > GetCustomerDetailsAsync()
        {
            List <CustomerDetailsVM>  customerDTOs = new List <CustomerDetailsVM>();
            IEnumerable <TblCustomer> customers    = await _context.TblCustomer.ToListAsync();

            foreach (var customer in customers)
            {
                TblMaster1 currentMaster1 = await _context.TblMaster1.Where(x => x.Customer == customer.Id).FirstOrDefaultAsync();

                TblMaster2 currentMaster2 = await _context.TblMaster2.Where(x => x.Customer == customer.Id).FirstOrDefaultAsync();

                TblConsultant currentConsultant = await _context.TblConsultant.Where(x => x.Customer == customer.Id).FirstOrDefaultAsync();

                CustomerDetailsVM customerDTO = new CustomerDetailsVM()
                {
                    Id              = customer.Id,
                    CustomerNumber  = customer.CustomerNumber,
                    Name            = currentMaster1.FirstName,
                    LastVisit       = customer.LastVisit,
                    MatchCode       = currentMaster1.MatchCode,
                    Type            = currentMaster2.CustomerType,
                    SalesConsultant = currentConsultant.SalesConsultant,
                    VAT             = currentMaster2.Vat
                };
                customerDTOs.Add(customerDTO);
            }
            return(customerDTOs);
        }