Пример #1
0
        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);
        }
Пример #2
0
        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();
        }