Skip to content

Commit

Permalink
Merge pull request #194 from AY2223S2-CS2103-F11-1/fix-minor-bug
Browse files Browse the repository at this point in the history
Fix edit bug
  • Loading branch information
ARPspoofing authored Mar 31, 2023
2 parents 31839da + aac1df5 commit 6780689
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/main/java/seedu/address/logic/commands/EditCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
import seedu.address.commons.util.CollectionUtil;
import seedu.address.logic.commands.exceptions.CommandException;
import seedu.address.model.Model;
import seedu.address.model.event.Consultation;
import seedu.address.model.event.Lab;
import seedu.address.model.event.Tutorial;
import seedu.address.model.person.Address;
import seedu.address.model.person.Email;
import seedu.address.model.person.Name;
Expand Down Expand Up @@ -76,6 +79,9 @@ public EditCommand(Index index, EditPersonDescriptor editPersonDescriptor) {
public CommandResult execute(Model model) throws CommandException {
requireNonNull(model);
List<Person> lastShownList = model.getFilteredPersonList();
List<Tutorial> lastShownTutorialList = model.getFilteredTutorialList();
List<Lab> lastShownLabList = model.getFilteredLabList();
List<Consultation> lastShownConsultationList = model.getFilteredConsultationList();

if (index.getZeroBased() >= lastShownList.size()) {
throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX);
Expand All @@ -89,6 +95,20 @@ public CommandResult execute(Model model) throws CommandException {
}

model.setPerson(personToEdit, editedPerson);

for (Tutorial tutorial: lastShownTutorialList) {
tutorial.replaceStudent(personToEdit, editedPerson);
}

for (Lab lab: lastShownLabList) {
lab.replaceStudent(personToEdit, editedPerson);
}

for (Consultation consultation: lastShownConsultationList) {
consultation.replaceStudent(personToEdit, editedPerson);
}


model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS);
return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson));
}
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/seedu/address/model/event/Consultation.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,14 @@ public void removeStudent(Person student) {
super.removeStudent(student);
}

/**
* Replaces a specific student in the list of students
* @param student
*/
public void replaceStudent(Person student, Person modifiedStudent) {
super.replaceStudent(student, modifiedStudent);
}

/**
* Removes student based on his 0 based index in the list of students
*
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/seedu/address/model/event/Event.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,18 @@ public void removeStudent(Person student) {
students.remove(student);
}

/**
* Replaces a specific student in the list of students
* @param student
*/
public void replaceStudent(Person student, Person modifiedStudent) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).equals(student)) {
students.set(i, modifiedStudent);
}
}
}

/**
* Removes student based on his 0 based index in the list of students
* @param index
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/seedu/address/model/event/Lab.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,14 @@ public void removeStudent(Person student) {
super.removeStudent(student);
}

/**
* Replaces a specific student in the list of students
* @param student
*/
public void replaceStudent(Person student, Person modifiedStudent) {
super.replaceStudent(student, modifiedStudent);
}

/**
* Removes student based on his 0 based index in the list of students
*
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/seedu/address/model/event/Tutorial.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,14 @@ public void removeStudent(Person student) {
super.removeStudent(student);
}

/**
* Replaces a specific student in the list of students
* @param student
*/
public void replaceStudent(Person student, Person modifiedStudent) {
super.replaceStudent(student, modifiedStudent);
}

/**
* Removes student based on his 0 based index in the list of students
*
Expand Down

0 comments on commit 6780689

Please sign in to comment.