예제 #1
0
        private void add(string parameter)
        {
            Vehicle vehicle;

            if (parameter == "g")
            {
                uint count  = 0;
                var  garage = garageParser.Parse(console, out count);
                if (count > 0)
                {
                    garageManager.AddGarage(garage, (int)count);
                    console.WriteInfo("Neues Parkhaus hinzugefügt und ausgewählt.");
                }
                else
                {
                    console.WriteError("Parkhaus konnte nicht hinzugefügt werden!");
                }
            }
            else if (parameter.Contains("+"))
            {
                parameter = parameter.Replace("+", "");
                int i = 0;
                vehicle = vehicleParser.Parse(console, parameter, out i);
                if (vehicle != null && vehicleManager.AddVehicle(vehicle, null))
                {
                    vehicleManager.AssignParkingPlace(vehicle, garageManager.GetParkingPlace(i));
                    console.WriteInfo("Fahrzeug hinzugefügt.");
                }
                else
                {
                    console.WriteError("Fahrzeug konnte nicht hinzugefügt werden!");
                }
            }
            else
            {
                vehicle = vehicleParser.Parse(console, parameter);
                if (vehicle != null && vehicleManager.AddVehicle(vehicle, null))
                {
                    vehicleManager.AssignParkingPlace(vehicle, garageManager.GetParkingPlace());
                    console.WriteInfo("Fahrzeug hinzugefügt.");
                }
                else
                {
                    console.WriteError("Fahrzeug konnte nicht hinzugefügt werden!");
                }
            }
        }
예제 #2
0
        private int InvokeCommand(List <string> commands)
        {
            bool b = false;

            using (var commandExecuter = commandExecuterFactory.Create())
            {
                foreach (var partialCommand in commands)
                {
                    foreach (var command in commandDictionary)
                    {
                        if (partialCommand.StartsWith(command.Key))
                        {
                            if (command.Value == Commands.Exit)
                            {
                                return(0);
                            }
                            if (command.Value == Commands.Restore)
                            {
                                return(2);
                            }
                            var parameter = partialCommand.Replace(command.Key, "");
                            parameter = parameter.Replace(";", "");
                            commandExecuter.Execute(command.Value, parameter);
                            b = true;
                            break;
                        }
                    }
                }
                if (!b)
                {
                    console.WriteError("Befehl nicht gefunden!");
                }
            }

            return(1);
        }