public IEnumerable <BusRoute> GetAll(BusSearchOption options) { DateTime?fromTime = options.FromTime, toTime = options.ToTime; int? destId = options.DestId, sourceId = options.SourceId; short? capacity = options.MinCapacity; var result = ApplicationContext.BusRoutes .Where(m => (fromTime == null || fromTime >= m.ArrivalTime && m.ArrivalTime <= toTime) && (toTime == null || fromTime >= m.DepartureTime && m.DepartureTime <= toTime) && (destId == null || m.Route.DestStop.Id == destId) && (sourceId == null || m.Route.SourceStop.Id == sourceId) && (capacity == null || m.Bus.Capacity >= capacity) ) .Include(bus => bus.Route) .Include(bus => bus.Bus) .Include(bus => bus.Route.SourceStop) .Include(bus => bus.Route.DestStop) ; return(result); }
//Checked public OperationResult <IEnumerable <BusDetailDTO> > GetAllBuses(BusSearchOption options) { DateTime?fromTime = options.FromTime, toTime = options.ToTime; int? destId = options.DestId, sourceId = options.SourceId; short? capacity = options.MinCapacity; OperationResult <IEnumerable <BusDetailDTO> > result = new(); try { var detailDTOs = UnitOfWork.BusRoutes .GetAll(options) .Select(Mapper.Map <BusRoute, BusDetailDTO>) .ToList(); result.SetSuccessResult(detailDTOs); } catch (Exception e) { result.SetExceptionResult(e.StackTrace); } return(result); }
public IActionResult GetAll([FromBody] BusSearchOption option) { return(this.GetResponse(BusRouteBDC.GetAllBuses(option))); }