public override List <Car> GetResult() { List <Car> lst = new List <Car>(); int i = 0; int capacity = new Taxi().Capacity; while (i < Drivers.Count && i < Passengers.Count / ((double)capacity)) { Car car = new Taxi(); car.DriverInstance(Drivers[i]); car.Passengers.AddRange(Passengers.GetRange(i * capacity, Passengers.Count - i * capacity < capacity ? Passengers.Count - i * capacity : capacity)); lst.Add(car); i++; if (car.Passengers.Last() is Child) { (car as Taxi).ChildChairsExisting = true; } } Drivers.RemoveRange(0, i); foreach (var car in lst) { Passengers.RemoveRange(0, car.Passengers.Count); } return(lst); }
public async Task ClearAsync() { Taxis.RemoveRange(Taxis.ToArray()); Drivers.RemoveRange(Drivers.ToArray()); Rides.RemoveRange(Rides.ToArray()); await SaveChangesAsync(); }
public override List <Car> GetResult() { List <Car> lst = new List <Car>(); int i = 0; int capacity = new Bus().Capacity; while (i < Drivers.Count && i < Passengers.Count / ((double)capacity)) { Car car = new Bus(); car.DriverInstance(Drivers[i]); car.Passengers.AddRange(Passengers.GetRange(i * capacity, Passengers.Count - i * capacity < capacity ? Passengers.Count - i * capacity : capacity)); lst.Add(car); i++; } Drivers.RemoveRange(0, i); foreach (var car in lst) { Passengers.RemoveRange(0, car.Passengers.Count); } return(lst); }