/// <summary> /// Filters a list electric bike in the station base on bike category /// </summary> /// <param name="stationId">The station you want to filter list of bike</param> /// <returns>Return the list base on bike category</returns> public List <BaseBike> GetListElectricsInStation(int stationId) { IEnumerable <BaseBike> baseBikes = connecter.SqlData.BaseBikes.Where(x => x.StationId == stationId && x.Category == "electric"); baseBikes = baseBikes.Select(x => { ElectricBikeTable electricBike = connecter.SqlData.ElectricBikes.Find(x.BikeId); return(new ElectricBike(x, electricBike)); }); return(baseBikes.ToList()); }
/// <summary>Get bike by QR code</summary> /// <param name="QRCode">QR Code you want to find</param> /// <returns>Return the bike with specified QR Code or null if not found</returns> public BaseBike GetBikeByQRCode(string QRCode) { BaseBike baseBike = connecter.SqlData.BaseBikes.SingleOrDefault(x => x.QRCode == QRCode); BaseBike result = null; if (baseBike.Category == "bike") { result = new Bike(baseBike); } else if (baseBike.Category == "tandem") { result = new Tandem(baseBike); } else if (baseBike.Category == "electric") { ElectricBikeTable electricBike = connecter.SqlData.ElectricBikes.Find(baseBike.BikeId); result = new ElectricBike(baseBike, electricBike); } return(result); }
/// <summary> /// Get bike by bike's id /// </summary> /// <param name="id">the bike's id you want to find</param> /// <returns>Return the bike with specified ID or null if not found</returns> public BaseBike GetBikeById(int id) { BaseBike baseBike = connecter.SqlData.BaseBikes.Find(id); BaseBike result = null; if (baseBike.Category == "bike") { result = new Bike(baseBike); } else if (baseBike.Category == "tandem") { result = new Tandem(baseBike); } else if (baseBike.Category == "electric") { ElectricBikeTable electricBike = connecter.SqlData.ElectricBikes.Find(baseBike.BikeId); result = new ElectricBike(baseBike, electricBike); } return(result); }