//-> GetList public async Task <GetListDTO <VehicleViewDTO> > GetList(VehicleFindDTO findDTO) { /* * IQueryable<tblVehicle> query = db.tblVehicles.Where(x => x.deleted == null); * if (!string.IsNullOrEmpty(findDTO.code)) query = query.Where(x => x.code.StartsWith(findDTO.code)); * if (!string.IsNullOrEmpty(findDTO.name)) query = query.Where(x => x.name.StartsWith(findDTO.name)); * if (!string.IsNullOrEmpty(findDTO.plateNumber)) query = query.Where(x => x.plateNumber.StartsWith(findDTO.plateNumber)); * * query = query.AsQueryable().OrderBy($"{findDTO.orderBy} {findDTO.orderDirection}"); * * return await ListingHandler(findDTO.currentPage, query); */ IQueryable <VehicleFindResultDTO> query = from v in db.tblVehicles join d in db.tblDrivers on v.driverID equals d.id where v.deleted == null && (string.IsNullOrEmpty(findDTO.vehicleCode) ? 1 == 1 : v.vehicleCode.StartsWith(findDTO.vehicleCode)) && (string.IsNullOrEmpty(findDTO.plateNumber) ? 1 == 1 : v.plateNumber.StartsWith(findDTO.plateNumber)) && (string.IsNullOrEmpty(findDTO.driverCode) ? 1 == 1 : d.driverName.StartsWith(findDTO.driverCode)) && (findDTO.driverID == 0 ? 1 == 1 : d.id == findDTO.driverID) select new VehicleFindResultDTO { id = v.id, vehicleCode = v.vehicleCode, vehicleName = v.vehicleName, driverCode = d.driverCode, driverName = d.driverName, plateNumber = v.plateNumber, chassis = v.chassis, engineNumber = v.engineNumber, }; query = query.AsQueryable().OrderBy($"{findDTO.orderBy} {findDTO.orderDirection}"); return(await ListingHandler(findDTO.currentPage, query)); }
public async Task <ActionResult> Paging(VehicleFindDTO findDTO) { return(PartialView(await handler.GetList(findDTO))); }