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)); }
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)); }