public void CarInGate(Gate gate) { if (!gate.DriveIn) { CarOutGate(gate); return; } bool residentVehicle = false; foreach (var resident in ResidentsList) { if (resident.LicensePlate == gate.OpenGatesFor) { residentVehicle = true; } } Vehicle vehicle = new Vehicle(gate.OpenGatesFor, residentVehicle); Task.Factory.StartNew(() => { System.Threading.Thread.Sleep(20000); if (CheckIfNotParked(vehicle)) { Form.Invoke((MethodInvoker) delegate { ConsoleLog.Add("Automobilis nepastatytas " + vehicle); }); } }); MockedVehiclesInOut.Add(vehicle); NotParkedVehicles.Add(vehicle); }
public void CarOutGate(Gate gate) { var vehicle = NotParkedVehicles.FirstOrDefault(v => v.LicensePlate == gate.OpenGatesFor); if (vehicle == null) { return; } NotParkedVehicles.Remove(vehicle); MockedVehiclesInOut.First(veh => veh == vehicle && veh.InParkingLot).OnExit(); }