141 lines
3.9 KiB
Java
141 lines
3.9 KiB
Java
package enseirb.myinpulse.model;
|
|
|
|
import jakarta.persistence.*;
|
|
|
|
import java.time.LocalDate;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@Entity
|
|
@Table(name = "project")
|
|
public class Project {
|
|
|
|
@OneToMany(mappedBy = "projectParticipation", fetch = FetchType.LAZY, orphanRemoval = true)
|
|
private final List<Entrepreneur> listEntrepreneurParticipation = new ArrayList<>();
|
|
|
|
@OneToMany(mappedBy = "projectSectionCell", fetch = FetchType.LAZY, orphanRemoval = true)
|
|
private final List<SectionCell> listSectionCell = new ArrayList<>();
|
|
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long idProject;
|
|
|
|
@Column(length = 255)
|
|
private String projectName;
|
|
|
|
private byte[] logo;
|
|
private LocalDate creationDate;
|
|
|
|
@Column private ProjectDecisionValue projectStatus;
|
|
|
|
@ManyToOne(fetch = FetchType.LAZY)
|
|
@JoinColumn(name = "idAdministrator")
|
|
private Administrator projectAdministrator;
|
|
|
|
@OneToOne(mappedBy = "projectProposed", fetch = FetchType.LAZY, orphanRemoval = true)
|
|
private Entrepreneur entrepreneurProposed;
|
|
|
|
public Project() {}
|
|
|
|
public Project(
|
|
String projectName,
|
|
byte[] logo,
|
|
LocalDate creationDate,
|
|
ProjectDecisionValue projectStatus,
|
|
Administrator projectAdministrator) {
|
|
this.projectName = projectName;
|
|
this.logo = logo;
|
|
this.creationDate = creationDate;
|
|
// this.projectStatus = (long) projectStatus.ordinal();
|
|
this.projectStatus = projectStatus;
|
|
this.projectAdministrator = projectAdministrator;
|
|
}
|
|
|
|
public Project(
|
|
String projectName,
|
|
byte[] logo,
|
|
LocalDate creationDate,
|
|
ProjectDecisionValue projectStatus,
|
|
Administrator projectAdministrator,
|
|
Entrepreneur entrepreneurProposed) {
|
|
this.projectName = projectName;
|
|
this.logo = logo;
|
|
this.creationDate = creationDate;
|
|
this.projectStatus = projectStatus;
|
|
this.projectAdministrator = projectAdministrator;
|
|
this.entrepreneurProposed = entrepreneurProposed;
|
|
}
|
|
|
|
public Long getIdProject() {
|
|
return idProject;
|
|
}
|
|
|
|
public void setIdProject(Long idProject) {
|
|
this.idProject = idProject;
|
|
}
|
|
|
|
public String getProjectName() {
|
|
return projectName;
|
|
}
|
|
|
|
public void setProjectName(String projectName) {
|
|
this.projectName = projectName;
|
|
}
|
|
|
|
public byte[] getLogo() {
|
|
return logo;
|
|
}
|
|
|
|
public void setLogo(byte[] logo) {
|
|
this.logo = logo;
|
|
}
|
|
|
|
public LocalDate getCreationDate() {
|
|
return creationDate;
|
|
}
|
|
|
|
public void setCreationDate(LocalDate creationDate) {
|
|
this.creationDate = creationDate;
|
|
}
|
|
|
|
public ProjectDecisionValue getProjectStatus() {
|
|
return projectStatus;
|
|
}
|
|
|
|
public void setProjectStatus(ProjectDecisionValue projectStatus) {
|
|
this.projectStatus = projectStatus;
|
|
}
|
|
|
|
public List<Entrepreneur> getListEntrepreneurParticipation() {
|
|
return listEntrepreneurParticipation;
|
|
}
|
|
|
|
public void updateListEntrepreneurParticipation(Entrepreneur projectParticipant) {
|
|
listEntrepreneurParticipation.add(projectParticipant);
|
|
}
|
|
|
|
public List<SectionCell> getListSectionCell() {
|
|
return listSectionCell;
|
|
}
|
|
|
|
public void updateListSectionCell(SectionCell projectSectionCell) {
|
|
listSectionCell.add(projectSectionCell);
|
|
}
|
|
|
|
public Administrator getProjectAdministrator() {
|
|
return projectAdministrator;
|
|
}
|
|
|
|
public void setProjectAdministrator(Administrator projectAdministrator) {
|
|
this.projectAdministrator = projectAdministrator;
|
|
}
|
|
|
|
public Entrepreneur getEntrepreneurProposed() {
|
|
return entrepreneurProposed;
|
|
}
|
|
|
|
public void setEntrepreneurProposed(Entrepreneur entrepreneurProposed) {
|
|
this.entrepreneurProposed = entrepreneurProposed;
|
|
}
|
|
}
|