diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 3e20122ec7a..301053b9e19 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -132,7 +132,7 @@ The `Model` component,
:information_source: **Note:** An alternative (arguably, a more OOP) model is given below. It has a `Tag` list in the `AddressBook`, which `Person` references. This allows `AddressBook` to only require one `Tag` object per unique tag, instead of each `Person` needing their own `Tag` objects.
- +
@@ -168,7 +168,9 @@ prefer to be called on a later date. #### How it is implemented We assume clients who do not have `HousekeepingDetails` do not want to be disturbed by the housekeeping company. Therefore, the client list should be first filtered by `Client.hasHousekeepingDetais()` then sorted by `HousekeepingDetails`. -We will also not show clients who have their predicted next housekeeping date that is after the current date. +As this is meant to be a notification for the client or sales lead for the admin, we not show clients who have their +predicted next housekeeping date that is after the current date. We will show clients who have their predicted next housekeeping +that is today or before today to account for calls that the admin might have missed. To do the sorting, the `Client` class now implements `Comparable` interface, and the `compareTo()` method is overridden to compare the `HousekeepingDetails` of two clients. @@ -218,8 +220,6 @@ Cons: [1] Less flexible for the client. The client may not be ready for housekee [2] It is possible to deal with this as an admin, but it would be "hacky" as the admin would have to edit the `lastHousekeepingDate`. -A `ClientComparator` is made using the `compareTo()` is then used by `FXCollections.sort()` to sort the list of clients. - ### \[Completed\] Find using multiple attributes The Find feature has already been developed in AB3. However, it only searches the keywords given in the Name attribute. diff --git a/docs/diagrams/BetterModelClassDiagram.puml b/docs/diagrams/BetterModelClassDiagram.puml index d452fbbdcac..6429eee2ea9 100644 --- a/docs/diagrams/BetterModelClassDiagram.puml +++ b/docs/diagrams/BetterModelClassDiagram.puml @@ -28,7 +28,8 @@ Person *--> "1" Address Person *--> "1" Area HousekeepingDetails *--> "1" LocalDate -HousekeepingDetails *--> "1" Period +HousekeepingDetails *--> "2" Period +HousekeepingDetails *--> "1" Booking BookingList *-right-> "*" Booking diff --git a/docs/images/BetterModelClassDiagram.png b/docs/images/BetterModelClassDiagram.png index 6babca197c6..6f471dee578 100644 Binary files a/docs/images/BetterModelClassDiagram.png and b/docs/images/BetterModelClassDiagram.png differ