package com.ejie.ad74a.validacion;

import javax.annotation.Resource;

import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.stereotype.Component;

import com.ejie.ad74a.model.Cuentas;
import com.ejie.ad74a.model.Direcciones;

@Component(value = "ExpedientesValidator")
public class ExpedientesValidator {

	@Resource
	private ReloadableResourceBundleMessageSource appMessageSource;

	public Boolean validateCambiosDireccion(Direcciones direccionBBDD, Direcciones direccionPresentacion,
			String tabDatosBeneficiarios) {

		// Pais NORA
		if ((direccionPresentacion.getIdPais06() != null && direccionBBDD.getIdPais06() != null
				&& !direccionPresentacion.getIdPais06().equalsIgnoreCase(direccionBBDD.getIdPais06()))
				|| ((direccionPresentacion.getIdPais06() != null && direccionBBDD.getIdPais06() == null)
						|| (direccionPresentacion.getIdPais06() == null && direccionBBDD.getIdPais06() != null))) {
			return true;
		}

		// Municipio NORA
		if ((direccionBBDD.getIdMunicipio06() != null && direccionPresentacion.getIdMunicipio06() != null
				&& !direccionPresentacion.getIdMunicipio06().equalsIgnoreCase(direccionBBDD.getIdMunicipio06()))
				|| ((direccionPresentacion.getIdMunicipio06() != null && direccionBBDD.getIdMunicipio06() == null)
						|| (direccionPresentacion.getIdMunicipio06() == null
								&& direccionBBDD.getIdMunicipio06() != null))) {
			return true;
		}
		// Localidad NORA
//		if ((direccionBBDD.getIdLocalidad06() != null && direccionPresentacion.getIdLocalidad06() != null
//				&& !direccionPresentacion.getIdLocalidad06().equals(direccionBBDD.getIdLocalidad06()))
//				|| ((direccionPresentacion.getIdLocalidad06() != null && direccionBBDD.getIdLocalidad06() == null)
//						|| (direccionPresentacion.getIdLocalidad06() == null
//								&& direccionBBDD.getIdLocalidad06() != null))) {
//			return true;
//		}
		// Calle NORA
		if ((direccionBBDD.getIdCalle06() != null && direccionPresentacion.getIdCalle06() != null
				&& !direccionPresentacion.getIdCalle06().equals(direccionBBDD.getIdCalle06()))
				|| ((direccionPresentacion.getIdCalle06() != null && direccionBBDD.getIdCalle06() == null)
						|| (direccionPresentacion.getIdCalle06() == null && direccionBBDD.getIdCalle06() != null))) {
			return true;
		}

		// Portal Nora
		if ((direccionBBDD.getIdPortal06() != null && direccionPresentacion.getIdPortal06() != null
				&& !direccionPresentacion.getIdPortal06().equals(direccionBBDD.getIdPortal06()))
				|| ((direccionPresentacion.getIdPortal06() != null && direccionBBDD.getIdPortal06() == null)
						|| (direccionPresentacion.getIdPortal06() == null && direccionBBDD.getIdPortal06() != null))) {
			return true;
		}

		// Pais string
		if ((direccionPresentacion.getPais06() != null && direccionBBDD.getPais06() != null
				&& !direccionPresentacion.getPais06().contentEquals(direccionBBDD.getPais06()))
				|| ((direccionPresentacion.getPais06() != null && direccionBBDD.getPais06() == null)
						|| (direccionPresentacion.getPais06() == null && direccionBBDD.getPais06() != null))) {
			return true;
		}

		// Provincia string
		if ((direccionPresentacion.getProvincia06() != null && direccionBBDD.getProvincia06() != null
				&& !direccionPresentacion.getProvincia06().contentEquals(direccionBBDD.getProvincia06()))
				|| ((direccionPresentacion.getProvincia06() != null && direccionBBDD.getIdPais06() == null)
						|| (direccionPresentacion.getProvincia06() == null
								&& direccionBBDD.getProvincia06() != null))) {
			return true;
		}

		// Municipio string
		if ((direccionPresentacion.getMunicipio06() != null && direccionBBDD.getMunicipio06() != null
				&& !direccionPresentacion.getMunicipio06().contentEquals(direccionBBDD.getMunicipio06()))
				|| ((direccionPresentacion.getMunicipio06() != null && direccionBBDD.getMunicipio06() == null)
						|| (direccionPresentacion.getMunicipio06() == null
								&& direccionBBDD.getMunicipio06() != null))) {
			return true;
		}

//		// Localidad string
//		if ((direccionPresentacion.getLocalidad06() != null && direccionBBDD.getLocalidad06() != null
//				&& !direccionPresentacion.getLocalidad06().contentEquals(direccionBBDD.getLocalidad06()))
//				|| ((direccionPresentacion.getLocalidad06() != null && direccionBBDD.getLocalidad06() == null)
//						|| (direccionPresentacion.getLocalidad06() == null
//								&& direccionBBDD.getLocalidad06() != null))) {
//			return true;
//		}

		// Calle string
		if ((direccionPresentacion.getCalle06() != null && direccionBBDD.getCalle06() != null
				&& !direccionPresentacion.getCalle06().contentEquals(direccionBBDD.getCalle06()))
				|| ((direccionPresentacion.getCalle06() != null && direccionBBDD.getCalle06() == null)
						|| (direccionPresentacion.getCalle06() == null && direccionBBDD.getCalle06() != null))) {
			return true;
		}

		// Potal string
		if ((direccionPresentacion.getPortal06() != null && direccionBBDD.getPortal06() != null
				&& !direccionPresentacion.getPortal06().contentEquals(direccionBBDD.getPortal06()))
				|| ((direccionPresentacion.getPortal06() != null && direccionBBDD.getPortal06() == null)
						|| (direccionPresentacion.getPortal06() == null && direccionBBDD.getPortal06() != null))) {
			return true;
		}

		// Piso string
		if ((direccionPresentacion.getPiso06() != null && direccionBBDD.getPiso06() != null
				&& !direccionPresentacion.getPiso06().contentEquals(direccionBBDD.getPiso06()))
				|| ((direccionPresentacion.getPiso06() != null && direccionBBDD.getPiso06() == null)
						|| (direccionPresentacion.getPiso06() == null && direccionBBDD.getPiso06() != null))) {
			return true;
		}

		// Letra
		if ((direccionPresentacion.getLetra06() != null && direccionBBDD.getLetra06() != null
				&& !direccionPresentacion.getLetra06().contentEquals(direccionBBDD.getLetra06()))
				|| ((direccionPresentacion.getLetra06() != null && direccionBBDD.getLetra06() == null)
						|| (direccionPresentacion.getLetra06() == null && direccionBBDD.getLetra06() != null))) {
			return true;
		}

		// CP
		if ((direccionPresentacion.getCp06() != null && direccionBBDD.getCp06() != null
				&& !direccionPresentacion.getCp06().contentEquals(direccionBBDD.getCp06()))
				|| ((direccionPresentacion.getCp06() != null && direccionBBDD.getCp06() == null)
						|| (direccionPresentacion.getCp06() == null && direccionBBDD.getCp06() != null))) {
			return true;
		}
		return false;
	}

	public Object validateCambiosCuenta(Cuentas cuentasBBDD, Cuentas cuentasPresentacion,
			String tabDatosBeneficiarios) {
		// CodTipoIdenTitular
		if ((cuentasPresentacion.getCodTipoIdenTitular05() != null && cuentasBBDD.getCodTipoIdenTitular05() != null
				&& !cuentasPresentacion.getCodTipoIdenTitular05().contentEquals(cuentasBBDD.getCodTipoIdenTitular05()))
				|| ((cuentasPresentacion.getCodTipoIdenTitular05() != null
						&& cuentasBBDD.getCodTipoIdenTitular05() == null)
						|| (cuentasPresentacion.getCodTipoIdenTitular05() == null
								&& cuentasBBDD.getCodTipoIdenTitular05() != null))) {
			return true;
		}
		// IdenTitular
		if ((cuentasPresentacion.getIdenTitular05() != null && cuentasBBDD.getIdenTitular05() != null
				&& !cuentasPresentacion.getIdenTitular05().contentEquals(cuentasBBDD.getIdenTitular05()))
				|| ((cuentasPresentacion.getIdenTitular05() != null && cuentasBBDD.getIdenTitular05() == null)
						|| (cuentasPresentacion.getIdenTitular05() == null
								&& cuentasBBDD.getIdenTitular05() != null))) {
			return true;
		}
		// NumCuenta
		if ((cuentasPresentacion.getNumCuenta05() != null && cuentasBBDD.getNumCuenta05() != null
				&& !cuentasPresentacion.getNumCuenta05().contentEquals(cuentasBBDD.getNumCuenta05()))
				|| ((cuentasPresentacion.getNumCuenta05() != null && cuentasBBDD.getNumCuenta05() == null)
						|| (cuentasPresentacion.getNumCuenta05() == null && cuentasBBDD.getNumCuenta05() != null))) {
			return true;
		}
		// TitularCuenta
		if ((cuentasPresentacion.getNombreTitCuenta05() != null && cuentasBBDD.getNombreTitCuenta05() != null
				&& !cuentasPresentacion.getNombreTitCuenta05().contentEquals(cuentasBBDD.getNombreTitCuenta05()))
				|| ((cuentasPresentacion.getNombreTitCuenta05() != null && cuentasBBDD.getNombreTitCuenta05() == null)
						|| (cuentasPresentacion.getNombreTitCuenta05() == null
								&& cuentasBBDD.getNombreTitCuenta05() != null))) {
			return true;
		}
		if ((cuentasPresentacion.getApellido1TitCuenta05() != null && cuentasBBDD.getApellido1TitCuenta05() != null
				&& !cuentasPresentacion.getApellido1TitCuenta05().contentEquals(cuentasBBDD.getApellido1TitCuenta05()))
				|| ((cuentasPresentacion.getApellido1TitCuenta05() != null
						&& cuentasBBDD.getApellido1TitCuenta05() == null)
						|| (cuentasPresentacion.getApellido1TitCuenta05() == null
								&& cuentasBBDD.getApellido1TitCuenta05() != null))) {
			return true;
		}
		return false;
	}
}
