示例#1
0
        //************************************** Bike **************************************
        //Get
        public List <Bike> GetAllAvailableBikes(GetAllAvailableBikesDTO getAllAvailableBikesDTO)
        {
            //1. alle rentals selektieren
            var selectRentals = this.bikeContext.Rentals.ToList();
            //2. alle bikes selektieren
            var selectBikes = this.bikeContext.Bikes.ToList();

            //3. alle bikes entfernen, die in rentals sind
            for (int i = 0; i < selectRentals.Count; i++)
            {
                for (int y = 0; y < selectBikes.Count; y++)
                {
                    if (selectRentals[i].Bike.BikeId == selectBikes[y].BikeId)
                    {
                        Bike deleteBike = selectBikes[y];
                        selectBikes.Remove(deleteBike);
                    }
                }
            }


            //auch in einem schritt möglich
            var query = selectBikes.Where(b => b.BikeId > 0);  //todo query

            if (getAllAvailableBikesDTO.SortByPriceOfAdditionalHoursAsc)
            {
                query = query.OrderBy(b => b.PriceAdditionalHour);
            }
            if (getAllAvailableBikesDTO.SortByPriceOfFirstHourAsc)
            {
                query = query.OrderBy(b => b.PriceFirstHour);
            }
            if (getAllAvailableBikesDTO.SortByPurchaseDateDsc)
            {
                query = query.OrderByDescending(b => b.PurchaseDate);
            }


            return(query.ToList());
        }
 public List <Bike> GetAllAvailableBikes([FromBody] GetAllAvailableBikesDTO getAllAvailableBikesDTO)
 {
     return(this.rentalBusinessLogic.GetAllAvailableBikes(getAllAvailableBikesDTO));
 }
示例#3
0
 //************************************** Bike **************************************
 public List <Bike> GetAllAvailableBikes(GetAllAvailableBikesDTO getAllAvailableBikesDTO)
 {
     return(this.rentalDataAccess.GetAllAvailableBikes(getAllAvailableBikesDTO));
 }