public ParkApplicationService(IParkingBoyRepository parkingBoyRepository, ITicketRepository ticketRepository) { _ticketRepository = ticketRepository; var boy = parkingBoyRepository.GetBoy(new BoyId("26C3719E-984E-4E47-B5D4-D7A5633FEE72")); _parkable = boy; }
public static string HighVacancyRatePark(Car car, IParkable[] parkables) { var parkinglotFilter = ((Parkinglot[]) parkables).OrderByDescending( parkinglot => parkinglot.GetVacancyRate()).First(); return parkinglotFilter == null ? null : parkinglotFilter.Park(car); }
public static string MoreAvailableStallsPark(Car car, IParkable[] parkables) { var parkinglotFilter = ((Parkinglot[]) parkables).OrderByDescending( parkinglot => parkinglot.GetAvailableStallsCount()) .First(); return parkinglotFilter == null ? null : parkinglotFilter.Park(car); }
public static Car SequencePick(string value, IParkable[] parkers) { foreach (var parkable in parkers) { var result = parkable.Pick(value); if (result != null) return result; } return null; }
public static ReportData[] GenerateReportDatas(IParkable[] parkables, string style) { var reportDatas = new List<ReportData>(); var summary = new ReportData() { AvailableStalls = 0, CarsParked = 0, Level = 0, Style = style }; reportDatas.Add(summary); foreach (var parkable in parkables) { var datas = parkable.GenerateReportDatas(); UpdateLevelFor(datas); UpdateSummaryData(summary, datas.First()); reportDatas.AddRange(datas); } return reportDatas.ToArray(); }
private static void AppendParkable(StringBuilder stringBuilder, string prefix, IParkable parkinglot, string flag) { stringBuilder.AppendFormat("{2}{3} {0} {1}\r\n", parkinglot.GetParkedNumber(), parkinglot.GetTotalsize(), prefix, flag); }
protected ParkingBoyBase(List <ParkingLot> parkingLots, ParkerType type) { pickerParkers.AddRange(parkingLots); parkable = ParkableFactory.CreateParkable(type); }
public Manager(List <IPickerParker> pickerParkers) { this.pickerParkers = pickerParkers; parkable = ParkableFactory.CreateParkable(ParkerType.Commen); }
public void SetParkBehavior(IParkable park) { _parkBehavior = park; }
public Car() { _brakeBehavior = new NormalBrake(); _rideBehavior = new NormalRide(); _parkBehavior = new NormalPark(); }
public static string SequencePark(Car car, IParkable[] parkables) { return parkables.Select(parkable => parkable.Park(car)) .FirstOrDefault(token => token != null); }