Пример #1
0
        public DriveCollectionsViewModel GetDetailsModel(int driveId, int userId)
        {
            Require.ThatIntIsPositive(driveId);
            Require.ThatIntIsPositive(userId);

            Drive drive = this.drives.GetByIdQueryable(driveId)
                          .Include(d => d.From)
                          .Include(d => d.To)
                          .Include(d => d.Car)
                          .Include(d => d.Driver)
                          .Include(d => d.DrivesPassengers)
                          .FirstOrDefault();

            if (drive != null)
            {
                DriveDetailsViewModel driveViewModel = mapper.Map <DriveDetailsViewModel>(drive);
                driveViewModel.ReservedByUser = drive.DrivesPassengers.Any(x => x.PassengerId == userId);
                driveViewModel.UserIsOwner    = drive.DriverId == userId;

                DriverDetailsViewModel driverViewModel = mapper.Map <DriverDetailsViewModel>(drive.Driver);

                CarDetailsViewModel carViewModel = mapper.Map <CarDetailsViewModel>(drive.Car);

                DriveCollectionsViewModel model = new DriveCollectionsViewModel()
                {
                    Drive  = driveViewModel,
                    Driver = driverViewModel,
                    Car    = carViewModel
                };

                return(model);
            }

            return(null);
        }
Пример #2
0
        public IActionResult Details(int id, [FromServices] IDrivesService drivesService)
        {
            DriveCollectionsViewModel model = drivesService.GetDetailsModel(id, this.userId);

            return(this.PartialView("_DetailsPartial", model));
        }