public IList <FloorModel> Get() { var floors = _floorRepository.AllList().OrderByDescending(f => f.CurrentFloor); var elevators = _elevatorRepository.AllList(); var floorModels = new List <FloorModel>(); foreach (var floor in floors) { floorModels.Add(new FloorModel(floor.CurrentFloor, floor.TotalPeople, floor.DestinationFloor, elevators)); } return(floorModels); }
/// <summary> /// Find the closest Elevator /// </summary> /// <param name="floor"></param> /// <returns></returns> private Elevator.Domain.Entities.Elevator GetClosestElevator(Floor floor) { //get nearest elevator var elevators = _elevatorRepository.AllList( e => e.Direction == Direction.Idle); if (!elevators.Any()) { return(null); } var closestElevators = (from e in elevators select new { Elevator = e, Distance = Math.Abs(floor.CurrentFloor - e.CurrentFloor) }).OrderBy(e => e.Distance).First(); return(closestElevators.Elevator); }
public IList <Domain.Entities.Elevator> Get() { return(_elevatorRepository.AllList()); }