/**
* Copyright © 2002 Instituto Superior Técnico
*
* This file is part of FenixEdu Academic.
*
* FenixEdu Academic is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* FenixEdu Academic is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with FenixEdu Academic. If not, see <http://www.gnu.org/licenses/>.
*/
package org.fenixedu.academic.dto.contacts;
import java.util.List;
import org.fenixedu.academic.domain.Person;
import org.fenixedu.academic.domain.contacts.EmailAddress;
import org.fenixedu.academic.domain.contacts.MobilePhone;
import org.fenixedu.academic.domain.contacts.Phone;
import org.fenixedu.academic.domain.contacts.PhysicalAddress;
public class PendingPartyContactBean {
private Person person;
public PendingPartyContactBean(final Person person) {
this.person = person;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public PhysicalAddress getDefaultPhysicalAddress() {
final List<PhysicalAddress> pendingOrValidPhysicalAddresses = getPerson().getPendingOrValidPhysicalAddresses();
if (!pendingOrValidPhysicalAddresses.isEmpty()) {
if (pendingOrValidPhysicalAddresses.size() > 0) {
return pendingOrValidPhysicalAddresses.iterator().next();
} else {
for (PhysicalAddress physicalAddress : pendingOrValidPhysicalAddresses) {
if (physicalAddress.getPartyContactValidation() != null) {
if (physicalAddress.getPartyContactValidation().getToBeDefault() != null) {
if (physicalAddress.getPartyContactValidation().getToBeDefault()) {
return physicalAddress;
}
}
}
}
return null;
}
} else {
return null;
}
}
public Phone getDefaultPhone() {
Phone defaultPhone = getPerson().getDefaultPhone();
if (defaultPhone != null) {
return defaultPhone;
}
final List<Phone> pendingPhones = getPerson().getPendingPhones();
for (Phone phone : pendingPhones) {
if (Boolean.TRUE.equals(phone.getPartyContactValidation().getToBeDefault())) {
return phone;
}
}
return null;
}
public MobilePhone getDefaultMobilePhone() {
MobilePhone defaultPhone = getPerson().getDefaultMobilePhone();
if (defaultPhone != null) {
return defaultPhone;
}
final List<MobilePhone> pendingPhones = getPerson().getPendingMobilePhones();
for (MobilePhone phone : pendingPhones) {
if (Boolean.TRUE.equals(phone.getPartyContactValidation().getToBeDefault())) {
return phone;
}
}
return null;
}
public EmailAddress getDefaultEmailAddress() {
EmailAddress defaultEmailAddress = getPerson().getDefaultEmailAddress();
if (defaultEmailAddress != null) {
return defaultEmailAddress;
}
final List<EmailAddress> pendingEmailAddresses = getPerson().getPendingEmailAddresses();
for (EmailAddress emailAddress : pendingEmailAddresses) {
if (Boolean.TRUE.equals(emailAddress.getPartyContactValidation().getToBeDefault())) {
return emailAddress;
}
}
return null;
}
}