package pwc.taxtech.atms.dto.datainit;

import pwc.taxtech.atms.dto.user.UserTemp;
import pwc.taxtech.atms.entity.Area;
import pwc.taxtech.atms.entity.AreaRegion;
import pwc.taxtech.atms.entity.BusinessUnit;
import pwc.taxtech.atms.entity.Customer;
import pwc.taxtech.atms.entity.EnterpriseAccount;
import pwc.taxtech.atms.entity.Organization;
import pwc.taxtech.atms.entity.OrganizationStructure;
import pwc.taxtech.atms.entity.Role;
import pwc.taxtech.atms.entity.RoleCategory;

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

public class DataInitDto {

    private List<String> errorMsgs = new ArrayList<>();

    private Boolean isImportOrgStructureValid = false;
    private List<OrganizationStructure> importOrgStructure = new ArrayList<>();

    private Boolean isImportBusinessUnitValid = false;
    private List<BusinessUnit> importBusinessUnit = new ArrayList<>();

    private Boolean isImportAreaValid = false;
    private List<Area> importAreaList = new ArrayList<>();
    private List<AreaRegion> importAreaRegionList = new ArrayList<>();

    private Boolean isImportEnterpriseAccountValid = false;
    private List<EnterpriseAccount> importEnterpriseAccount = new ArrayList<>();

    private Boolean isImportCustomerValid = false;
    private List<Customer> importCustomer = new ArrayList<>();

    private Boolean isImportOrganizationValid = false;
    private List<Organization> importOrganization = new ArrayList<>();

    private Boolean isImportRoleValid = false;
    private List<Role> importRole = new ArrayList<>();
    private List<RoleCategory> importRoleCategory = new ArrayList<>();

    private Boolean isImportUserTempValid = false;
    private List<UserTemp> importUserTemp = new ArrayList<>();

    private List<DataCountDto> validMsgs = new ArrayList<>();

    /**
     * @return the errorMsgs
     */
    public List<String> getErrorMsgs() {
        return errorMsgs;
    }

    /**
     * @param errorMsgs the errorMsgs to set
     */
    public void setErrorMsgs(List<String> errorMsgs) {
        this.errorMsgs = errorMsgs;
    }

    /**
     * @param errorMsg
     */
    public void addErrorMsg(String errorMsg) {
        this.errorMsgs.add(errorMsg);
    }

    /**
     * @return the isImportOrgStructureValid
     */
    public Boolean getIsImportOrgStructureValid() {
        return isImportOrgStructureValid;
    }

    /**
     * @param isImportOrgStructureValid the isImportOrgStructureValid to set
     */
    public void setIsImportOrgStructureValid(Boolean isImportOrgStructureValid) {
        this.isImportOrgStructureValid = isImportOrgStructureValid;
    }

    /**
     * @return the importOrgStructure
     */
    public List<OrganizationStructure> getImportOrgStructure() {
        return importOrgStructure;
    }

    /**
     * @param importOrgStructure the importOrgStructure to set
     */
    public void setImportOrgStructure(List<OrganizationStructure> importOrgStructure) {
        this.importOrgStructure = importOrgStructure;
    }

    /**
     * @return the isImportBusinessUnitValid
     */
    public Boolean getIsImportBusinessUnitValid() {
        return isImportBusinessUnitValid;
    }

    /**
     * @param isImportBusinessUnitValid the isImportBusinessUnitValid to set
     */
    public void setIsImportBusinessUnitValid(Boolean isImportBusinessUnitValid) {
        this.isImportBusinessUnitValid = isImportBusinessUnitValid;
    }

    /**
     * @return the importBusinessUnit
     */
    public List<BusinessUnit> getImportBusinessUnit() {
        return importBusinessUnit;
    }

    /**
     * @param importBusinessUnit the importBusinessUnit to set
     */
    public void setImportBusinessUnit(List<BusinessUnit> importBusinessUnit) {
        this.importBusinessUnit = importBusinessUnit;
    }

    public Boolean getIsImportAreaValid() {
        return isImportAreaValid;
    }

    public void setIsImportAreaValid(Boolean isImportAreaValid) {
        this.isImportAreaValid = isImportAreaValid;
    }

    public List<Area> getImportAreaList() {
        return importAreaList;
    }

    public void setImportAreaList(List<Area> importAreaList) {
        this.importAreaList = importAreaList;
    }

    public List<AreaRegion> getImportAreaRegionList() {
        return importAreaRegionList;
    }

    public void setImportAreaRegionList(List<AreaRegion> importAreaRegionList) {
        this.importAreaRegionList = importAreaRegionList;
    }

    public Boolean getIsImportEnterpriseAccountValid() {
        return isImportEnterpriseAccountValid;
    }

    public void setIsImportEnterpriseAccountValid(Boolean isImportEnterpriseAccountValid) {
        this.isImportEnterpriseAccountValid = isImportEnterpriseAccountValid;
    }

    public List<EnterpriseAccount> getImportEnterpriseAccount() {
        return importEnterpriseAccount;
    }

    public void setImportEnterpriseAccount(List<EnterpriseAccount> importEnterpriseAccount) {
        this.importEnterpriseAccount = importEnterpriseAccount;
    }

    public Boolean getIsImportCustomerValid() {
        return isImportCustomerValid;
    }

    public void setIsImportCustomerValid(Boolean isImportCustomerValid) {
        this.isImportCustomerValid = isImportCustomerValid;
    }

    public List<Customer> getImportCustomer() {
        return importCustomer;
    }

    public void setImportCustomer(List<Customer> importCustomer) {
        this.importCustomer = importCustomer;
    }

    public List<Organization> getImportOrganization() {
        return importOrganization;
    }

    public void setImportOrganization(List<Organization> importOrganization) {
        this.importOrganization = importOrganization;
    }

    public Boolean getIsImportOrganizationValid() {
        return isImportOrganizationValid;
    }

    public void setIsImportOrganizationValid(Boolean isImportOrganizationValid) {
        this.isImportOrganizationValid = isImportOrganizationValid;
    }

    public Boolean getIsImportRoleValid() {
        return isImportRoleValid;
    }

    public void setIsImportRoleValid(Boolean isImportRoleValid) {
        this.isImportRoleValid = isImportRoleValid;
    }

    public List<Role> getImportRole() {
        return importRole;
    }

    public void setImportRole(List<Role> importRole) {
        this.importRole = importRole;
    }

    public List<RoleCategory> getImportRoleCategory() {
        return importRoleCategory;
    }

    public void setImportRoleCategory(List<RoleCategory> importRoleCategory) {
        this.importRoleCategory = importRoleCategory;
    }

    public Boolean getIsImportUserTempValid() {
        return isImportUserTempValid;
    }

    public void setIsImportUserTempValid(Boolean isImportUserTempValid) {
        this.isImportUserTempValid = isImportUserTempValid;
    }

    public List<UserTemp> getImportUserTemp() {
        return importUserTemp;
    }

    public void setImportUserTemp(List<UserTemp> importUserTemp) {
        this.importUserTemp = importUserTemp;
    }

    public List<DataCountDto> getValidMsgs() {
        return validMsgs;
    }

    public void setValidMsgs(List<DataCountDto> validMsgs) {
        this.validMsgs = validMsgs;
    }


}