Skip to content

Commit d798070

Browse files
authored
Merge pull request #115 from Cheezeblokz/master
Event Updates
2 parents 5ba3bfe + 15de82c commit d798070

File tree

8 files changed

+67
-17
lines changed

8 files changed

+67
-17
lines changed

src/main/java/seedu/duke/calendar/CalendarCommandParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public EventCommand parseInput(String input) {
1515
assert input != null : "input is null";
1616

1717
if (input.startsWith("add event")) {
18-
return new AddEventCommand();
18+
return new AddEventCommand(input);
1919
} else if (input.startsWith("delete event")) {
2020
return new DeleteEventCommand();
2121
} else if (input.startsWith("list events")) {

src/main/java/seedu/duke/calendar/Event.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,9 @@ public void setTo(LocalDateTime to) {
4141

4242
@Override
4343
public String toString() {
44-
return "Event{" +
45-
"name='" + name + '\'' +
46-
", from=" + from +
47-
", to=" + to +
48-
'}';
44+
return "Event '" + name + '\'' +
45+
" From: " + from +
46+
", To: " + to;
4947
}
5048

5149
}

src/main/java/seedu/duke/calendar/EventList.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ public void findEvent(String keyword) {
2828
int count = 0;
2929
for (Event event: eventList) {
3030
if (event.getName().contains(keyword)) {
31-
System.out.println((++count) + ". " + event.getName() + " Event from: " +event.getFrom() +
32-
" to: " + event.getTo());
31+
System.out.println((++count) + ". " + event);
3332
}
3433
}
3534
}

src/main/java/seedu/duke/calendar/command/AddEventCommand.java

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//@@ kherlenbayasgalan & jingxizhu
1+
//@@ kherlenbayasgalan & Cheezeblokz
22

33
package seedu.duke.calendar.command;
44

@@ -8,8 +8,17 @@
88
import java.util.Scanner;
99
import java.time.LocalDateTime;
1010

11-
public class AddEventCommand extends EventCommand {
12-
public void execute(Scanner scanner, EventList eventList) {
11+
public class AddEventCommand extends DualEventCommand {
12+
13+
public AddEventCommand(String input) {
14+
this.input = input;
15+
beginnerCommandLength = 2;
16+
expertCommandLength = 5;
17+
syntaxString = "add event EVENT_NAME EVENT_START_DATE (in format yyyy-mm-ddThh:mm:ss) EVENT_END_DATE (in format yyyy-mm-ddThh:mm:ss)";
18+
}
19+
20+
@Override
21+
protected void executeBeginnerMode(Scanner scanner, EventList eventList) {
1322
System.out.print("What's the event?: ");
1423
String eventName = scanner.nextLine();
1524
System.out.print("When does it start? (yyyy-mm-ddThh:mm:ss) (eg. 2023-12-20T12:30:30): ");
@@ -21,7 +30,22 @@ public void execute(Scanner scanner, EventList eventList) {
2130

2231
eventList.addEvent(event);
2332

24-
System.out.println(event.getName() + " Event from: " +event.getFrom() +
25-
" to: " + event.getTo() + " has been added to your Calendar");
33+
System.out.println(event + " has been added to your Calendar");
34+
}
35+
36+
//@@author Cheezeblokz
37+
@Override
38+
protected void executeExpertMode(Scanner scanner, EventList eventList) {
39+
40+
String[] commandParts = input.split(" ");
41+
String eventName = commandParts[2];
42+
LocalDateTime startTime = LocalDateTime.parse(commandParts[3]);
43+
LocalDateTime endTime = LocalDateTime.parse(commandParts[4]);
44+
45+
Event event = new Event(eventName, startTime, endTime);
46+
47+
eventList.addEvent(event);
48+
49+
System.out.println(event + " has been added to your Calendar");
2650
}
2751
}

src/main/java/seedu/duke/calendar/command/DeleteEventCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//@@ kherlenbayasgalan & jingxizhu
1+
//@@author kherlenbayasgalan & Cheezeblokz
22

33
package seedu.duke.calendar.command;
44

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//@@wendelinwemhoener-reused
2+
package seedu.duke.calendar.command;
3+
4+
import seedu.duke.calendar.EventList;
5+
6+
import java.util.Scanner;
7+
8+
public abstract class DualEventCommand extends EventCommand {
9+
protected int beginnerCommandLength;
10+
protected int expertCommandLength;
11+
protected String input;
12+
protected String syntaxString;
13+
14+
protected abstract void executeBeginnerMode(Scanner scanner, EventList eventList);
15+
16+
protected abstract void executeExpertMode(Scanner scanner, EventList eventList);
17+
18+
public void execute(Scanner scanner, EventList eventList) {
19+
String[] commandParts = input.split(" ");
20+
21+
if (commandParts.length == beginnerCommandLength) {
22+
executeBeginnerMode(scanner, eventList);
23+
} else if (commandParts.length == expertCommandLength) {
24+
executeExpertMode(scanner, eventList);
25+
} else {
26+
System.out.println(" Invalid syntax! The syntax is '" + syntaxString + "'");
27+
System.out.println(" Please try again.");
28+
}
29+
}
30+
}

src/main/java/seedu/duke/calendar/command/EventCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//@@author kherlenbayasgalan & jingxizhu
1+
//@@author kherlenbayasgalan & Cheezeblokz
22

33
package seedu.duke.calendar.command;
44

src/main/java/seedu/duke/calendar/command/ListCalendarEventsCommand.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ public void execute(Scanner scanner, EventList eventList) {
1515

1616
int count = 0;
1717
for (Event event : eventList.getEvent()) {
18-
System.out.println((++count) + ". " + event.getName() + " Event from: " +event.getFrom() +
19-
" to: " + event.getTo());
18+
System.out.println((++count) + ". " + event);
2019
printLine();
2120
}
2221
} else {

0 commit comments

Comments
 (0)