protected override string Handle(ICommand command, IDealershipEngine engine)
        {
            var vehicleIndex = int.Parse(command.Parameters[0]) - 1;

            RangeValidator.ValidateRange(vehicleIndex, 0, engine.LoggedUser.Vehicles.Count, RemovedVehicleDoesNotExist);

            var vehicle = engine.LoggedUser.Vehicles[vehicleIndex];

            engine.LoggedUser.RemoveVehicle(vehicle);

            return(string.Format(VehicleRemovedSuccessfully, engine.LoggedUser.Username));
        }
Esempio n. 2
0
        protected override string Handle(ICommand command, IDealershipEngine engine)
        {
            var content      = command.Parameters[0];
            var author       = command.Parameters[1];
            var vehicleIndex = int.Parse(command.Parameters[2]) - 1;

            var comment = engine.Factory.CreateComment(content);

            comment.Author = engine.LoggedUser.Username;
            var user = engine.Users.FirstOrDefault(u => u.Username == author);

            if (user == null)
            {
                return(string.Format(NoSuchUser, author));
            }

            RangeValidator.ValidateRange(vehicleIndex, 0, user.Vehicles.Count, VehicleDoesNotExist);

            var vehicle = user.Vehicles[vehicleIndex];

            engine.LoggedUser.AddComment(comment, vehicle);

            return(string.Format(CommentAddedSuccessfully, engine.LoggedUser.Username));
        }