// GET: Appointments/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var appointment = await _context.Appointment
                              .Include(a => a.User)
                              .Include(a => a.Vehicle)
                              .FirstOrDefaultAsync(m => m.Id == id);

            if (appointment == null)
            {
                return(NotFound());
            }

            var vehicleServies = await _context
                                 .AppointmentVehicleServiceLink
                                 .Where(l => l.AppointmentId == appointment.Id)
                                 .Include(l => l.VehicleService)
                                 .Select(l => l.VehicleService)
                                 .ToListAsync();

            var appointmentViewModel = new AppointmentVehicleServiceViewModel()
            {
                Appointment     = appointment,
                VehicleServices = vehicleServies
            };

            return(View(appointmentViewModel));
        }
        // GET: Appointments/Create
        public async Task <IActionResult> Create(int vehicleId)
        {
            var vehicle         = _context.Vehicle.Where(v => v.Id == vehicleId).First();
            var user            = _context.Users.Where(u => u.Id == vehicle.OwnerId).First();
            var vehicleServices = await _context.VehicleService.ToListAsync();

            var appointmentViewModel = new AppointmentVehicleServiceViewModel()
            {
                Vehicle         = vehicle,
                User            = user,
                VehicleServices = vehicleServices,
                Appointment     = new Appointment()
                {
                    UserId = user.Id, VehicleId = vehicle.Id, ScheduledDate = DateTime.Now
                }
            };

            return(View(appointmentViewModel));
        }