package gov.nysenate.openleg.client.view.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import gov.nysenate.openleg.model.base.SessionYear;
import gov.nysenate.openleg.model.entity.Chamber;
import gov.nysenate.openleg.model.entity.SessionMember;
public class ExtendedMemberView extends MemberView {
protected boolean alternate;
protected boolean incumbent;
protected int personId;
protected String prefix;
protected String firstName;
protected String middleName;
protected String lastName;
protected String suffix;
protected String email;
protected boolean verified;
protected ExtendedMemberView(){}
public ExtendedMemberView(SessionMember member) {
super(member);
if (member != null) {
this.alternate = member.isAlternate();
this.incumbent = member.isIncumbent();
this.personId = member.getPersonId();
this.prefix = member.getPrefix();
this.firstName = member.getFirstName();
this.middleName = member.getMiddleName();
this.lastName = member.getLastName();
this.suffix = member.getSuffix();
this.verified = member.isVerified();
}
}
@JsonIgnore
public SessionMember toMember() {
SessionMember member = new SessionMember();
member.setMemberId(this.memberId);
member.setSessionMemberId(this.sessionMemberId);
member.setLbdcShortName(this.shortName);
member.setSessionYear(SessionYear.of(this.sessionYear));
member.setChamber(Chamber.getValue(this.chamber));
member.setAlternate(this.alternate);
member.setFullName(fullName);
member.setDistrictCode(districtCode);
member.setImgName(imgName);
member.setAlternate(this.alternate);
member.setIncumbent(this.alternate);
member.setPersonId(this.personId);
member.setPrefix(this.prefix);
member.setFirstName(this.firstName);
member.setMiddleName(this.middleName);
member.setLastName(this.lastName);
member.setSuffix(this.suffix);
member.setEmail(this.email);
member.setVerified(this.verified);
return member;
}
public boolean isAlternate() {
return alternate;
}
public boolean isIncumbent() {
return incumbent;
}
public int getPersonId() {
return personId;
}
public String getPrefix() {
return prefix;
}
public String getFirstName() {
return firstName;
}
public String getMiddleName() {
return middleName;
}
public String getLastName() {
return lastName;
}
public String getSuffix() {
return suffix;
}
public String getEmail() {
return email;
}
public boolean isVerified() {
return verified;
}
@Override
public String getViewType() {
return "member-extended";
}
}