SearchCriteriaViewModel.java

package edu.rit.coopeval.viewmodel.search;

import java.util.ArrayList;
import java.util.List;

import edu.rit.coopeval.model.*;

/**
 * Created by mhickson on 3/11/15.
 */
public class SearchCriteriaViewModel {
    private String studentFirstName;
    private String studentLastName;
    private String studentId;
    private String companyName;
    private String advisorDCE;
    private List<TermCriteriaViewModel> terms;
    private List<DepartmentCriteriaViewModel> departments;
    private List<EvaluationStatusCriteriaViewModel> studentEvalStatusList;
    private List<ApprovalStatusCriteriaViewModel> approvalStatusList;
    private List<EvaluationStatusCriteriaViewModel> employerEvalStatusList;

    public SearchCriteriaViewModel(){}

    public SearchCriteriaViewModel(Iterable<Term> termEntities, Iterable<Department> departmentEntities,
                                   Iterable<EvaluationStatus> evalStatusEntities, Iterable<EvaluationApprovalStatus> evalApprovalEntities){
        this.studentFirstName="";
        this.studentLastName="";
        this.studentId="";
        this.companyName="";
        this.advisorDCE="";
        this.terms=new ArrayList<TermCriteriaViewModel>();
        this.departments=new ArrayList<DepartmentCriteriaViewModel>();
        this.studentEvalStatusList=new ArrayList<EvaluationStatusCriteriaViewModel>();
        this.approvalStatusList=new ArrayList<ApprovalStatusCriteriaViewModel>();
        this.employerEvalStatusList=new ArrayList<EvaluationStatusCriteriaViewModel>();
        for(Term term: termEntities){
            this.terms.add(new TermCriteriaViewModel(term));
        }
        for(Department department: departmentEntities){
            this.departments.add(new DepartmentCriteriaViewModel(department));
        }
        for(EvaluationStatus evaluationStatus: evalStatusEntities){
            if(!evaluationStatus.getName().equals("Open")){
                this.studentEvalStatusList.add(new EvaluationStatusCriteriaViewModel(evaluationStatus));
            }
        }
        for(EvaluationApprovalStatus evaluationApprovalStatus: evalApprovalEntities){
            this.approvalStatusList.add(new ApprovalStatusCriteriaViewModel(evaluationApprovalStatus));
        }
        for(EvaluationStatus evaluationStatus: evalStatusEntities){
            if(!evaluationStatus.getName().equals("Open")) {
                this.employerEvalStatusList.add(new EvaluationStatusCriteriaViewModel(evaluationStatus));
            }
        }

    }

    public String getStudentFirstName() {
        return studentFirstName;
    }

    public void setStudentFirstName(String studentFirstName) {
        this.studentFirstName = studentFirstName;
    }

    public String getStudentLastName() {
        return studentLastName;
    }

    public void setStudentLastName(String studentLastName) {
        this.studentLastName = studentLastName;
    }

    public String getStudentId() {
        return studentId;
    }

    public void setStudentId(String studentId) {
        this.studentId = studentId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getAdvisorDCE() {
        return advisorDCE;
    }

    public void setAdvisorDCE(String advisorDCE) {
        this.advisorDCE = advisorDCE;
    }

    public List<TermCriteriaViewModel> getTerms() {
        return terms;
    }

    public void setTerms(List<TermCriteriaViewModel> terms) {
        this.terms = terms;
    }

    public List<DepartmentCriteriaViewModel> getDepartments() {
        return departments;
    }

    public void setDepartments(List<DepartmentCriteriaViewModel> departments) {
        this.departments = departments;
    }

    public List<EvaluationStatusCriteriaViewModel> getStudentEvalStatusList() {
        return studentEvalStatusList;
    }

    public void setStudentEvalStatusList(List<EvaluationStatusCriteriaViewModel> studentEvalStatusList) {
        this.studentEvalStatusList = studentEvalStatusList;
    }

    public List<ApprovalStatusCriteriaViewModel> getApprovalStatusList() {
        return approvalStatusList;
    }

    public void setApprovalStatusList(List<ApprovalStatusCriteriaViewModel> approvalStatusList) {
        this.approvalStatusList = approvalStatusList;
    }

    public List<EvaluationStatusCriteriaViewModel> getEmployerEvalStatusList() {
        return employerEvalStatusList;
    }

    public void setEmployerEvalStatusList(List<EvaluationStatusCriteriaViewModel> employerEvalStatusList) {
        this.employerEvalStatusList = employerEvalStatusList;
    }

}