package com.ejie.ad74a.service.comun;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ejie.ad74a.dao.comun.NoraDao;
import com.ejie.ad74a.model.comun.Calle;
import com.ejie.ad74a.model.comun.Localidad;
import com.ejie.ad74a.model.comun.Municipio;
import com.ejie.ad74a.model.comun.Pais;
import com.ejie.ad74a.model.comun.Portal;
import com.ejie.ad74a.model.comun.Provincia;
import com.ejie.ad74a.model.comun.Tramo;

/**
 * NoraServiceImpl generated by UDA, 09-may-2019 10:05:02.
 * 
 * @author UDA
 */

@Service(value = "NoraService")
public class NoraServiceImpl implements NoraService {

	@Autowired
	private NoraDao noraDao;

	/**
	 * Todas las provincias de España
	 * 
	 */
	public List<Provincia> findAllProvincias() {
		return this.noraDao.findAllProvincias();
	}

	/**
	 * Todas las provincias de la CAP
	 * 
	 */
	public List<Provincia> findProvinciasCAP() {
		return this.noraDao.findProvinciasCAP();
	}

	/**
	 * Todas las provincias menos las del pais vasco
	 * 
	 * @return List<Provincia>
	 */
	public List<Provincia> findAllProvinciasNoCAP() {
		return this.noraDao.findAllProvinciasNoCAP();
	}

	/**
	 * 
	 * @param filterProvincia
	 * @return
	 */
	public List<Provincia> findAllProvincias(Provincia filterProvincia) {
		return this.noraDao.findAllProvincias(filterProvincia);
	}

	/**
	 * 
	 */
	public List<Localidad> findByCodPostal(String codPostal) {
		return this.noraDao.findByCodPostal(codPostal);
	}

	/**
	 * 
	 */
	public List<Municipio> findAllMunicipios(Municipio filterMunicipio) {
		return this.noraDao.findAllMunicipios(filterMunicipio);
	}

	/**
	 * 
	 */
	public List<Localidad> findAllLocalidadesCalle(Tramo filterTramo) {
		return this.noraDao.findAllLocalidadesCalle(filterTramo);
	}

	/**
	 * 
	 */
	public List<Localidad> findAllLocalidades(Localidad filterEntidadLocalidad) {
		return this.noraDao.findAllLocalidades(filterEntidadLocalidad);
	}
	
	public List<Calle> findAllCallesProvMuni(Calle calle) {
		return this.noraDao.findAllCallesProvMuni(calle);
	}
	/**
	 * 
	 */
	public List<Calle> findAllCallesLocalidad(Tramo filterTramo) {
		return this.noraDao.findAllCallesLocalidad(filterTramo);
	}

	/**
	 * 
	 */
	public List<Calle> findAllCalles(Calle filterEntidadCalle) {
		return this.noraDao.findAllCalles(filterEntidadCalle);
	}

	/**
	 * 
	 */
	public List<Portal> findAllPortales(Portal filterPortal) {
		return this.noraDao.findAllPortales(filterPortal);
	}

	/**
	 * 
	 */
	public List<Pais> findAllPaises(Pais filterPais) {
		return this.noraDao.findAllPaises(filterPais);
	}

	/**
	 * 
	 */
	public Portal findPortal(Portal portal) {
		return this.noraDao.findPortal(portal);
	}

	@Override
	public Municipio findMunicipio(Municipio municipio) {
		return this.noraDao.findMunicipio(municipio);
	}

	@Override
	public String getCp(String idPortal) {
		return this.noraDao.getCp(idPortal);
	}

	@Override
	public List<Calle> findAllCallesNisae(Calle calleNoraNisae) {
		return this.noraDao.findAllCallesNisae(calleNoraNisae);
	}

}
