public PagedResultDto <ApplyForVehicleMaintenanceListDto> GetAuditedItems( ApplyForVehicleMaintenanceQueryDto request) { var query = this._applyForVehicleMaintenanceRepository.GetAll() .Where(r => r.Status == request.Status.Value).OrderByDescending(r => r.CreationTime); var count = query.Count(); var list = query.AsQueryable().PageBy(request).ToList(); var dtos = list.MapTo <List <ApplyForVehicleMaintenanceListDto> >(); foreach (var dto in dtos) { var driver = this._driverRepository.Get(dto.DriverId); if (driver == null) { throw new UserFriendlyException("驾驶员不能为空"); } dto.DriverName = driver.Name; dto.ServiceDepot = this._sysDictionaryRepository.Get(r => r.Id == dto.ServiceDepotId).FirstOrDefault() ?.Value; } return(new PagedResultDto <ApplyForVehicleMaintenanceListDto>(count, dtos)); }
public ListResultDto <ApplyForVehicleMaintenanceListDto> GetAll(ApplyForVehicleMaintenanceQueryDto request) { var query = this._applyForVehicleMaintenanceRepository.GetAll() .WhereIf(request.CarInfoId.HasValue, r => r.CarInfoId == request.CarInfoId.Value) .WhereIf(request.DriverId.HasValue, r => r.DriverId == request.DriverId.Value) .WhereIf(request.ServiceDepotId.HasValue, r => r.ServiceDepotId == request.ServiceDepotId.Value) .WhereIf(request.Status.HasValue, r => r.Status == request.Status.Value); query = !string.IsNullOrWhiteSpace(request.Sorting) ? query.OrderBy(request.Sorting) : query.OrderByDescending(r => r.CreationTime); var count = query.Count(); var list = query.AsQueryable().PageBy(request).ToList(); var dtos = list.MapTo <List <ApplyForVehicleMaintenanceListDto> >(); foreach (var dto in dtos) { var driver = this._driverRepository.Get(dto.DriverId); dto.ServiceDepot = this._sysDictionaryRepository.Get(r => r.Id == dto.ServiceDepotId).FirstOrDefault() ?.Value; if (driver == null) { throw new UserFriendlyException("驾驶员不能为空"); } dto.DriverName = driver.Name; switch (dto.Status) { case "0": dto.Status = "等待审核"; break; case "1": dto.Status = "审核通过"; break; case "2": dto.Status = "审核拒绝"; break; case "3": dto.Status = "维修中"; break; case "4": dto.Status = "修理完成"; break; } } return(new PagedResultDto <ApplyForVehicleMaintenanceListDto>(count, dtos)); }