-
Notifications
You must be signed in to change notification settings - Fork 297
/
Copy pathRegistration.java
50 lines (40 loc) · 1.23 KB
/
Registration.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package nextstep.courses.domain;
import nextstep.courses.utils.BaseEntity;
import nextstep.users.domain.NsUser;
import java.time.LocalDateTime;
public class Registration extends BaseEntity {
private Long id = null;
private final NsUser user;
private final Session session;
private final Long amount;
public Registration(Long id, NsUser user, Session session, Long amount, LocalDateTime createdAt, LocalDateTime updatedAt) {
this.id = id;
this.user = user;
this.session = session;
this.amount = amount;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}
public Registration(NsUser user, Session session, Long amount) {
this.user = user;
this.session = session;
this.amount = amount;
}
public static Registration register(NsUser user, Session session, Long amount) {
Registration registration = new Registration(user, session, amount);
session.enroll(user, amount);
return registration;
}
public Long id() {
return id;
}
public NsUser nsUser() {
return user;
}
public Session session() {
return session;
}
public Long amount() {
return amount;
}
}