package pwc.taxtech.atms.service;

import java.util.List;

import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.arearegion.AreaRegionDto;
import pwc.taxtech.atms.dto.arearegion.AreaRegionInfo;
import pwc.taxtech.atms.entity.AreaRegion;

public interface AreaRegionService {

    /**
     * Find areaRegion by area
     * 
     * @param areaId
     * @return List<AreaRegion>
     */
    List<AreaRegion> findAreaRegionsByArea(String areaId);

    /**
     * Adds the region and area model
     * 
     * @param areaRegionInfo
     * @return OperationResultDto
     */
    OperationResultDto add(AreaRegionInfo areaRegionInfo);

    /**
     * Update the region and area model
     * 
     * @param areaRegionInfo
     * @return OperationResultDto
     */
    OperationResultDto update(AreaRegionInfo areaRegionInfo);

    List<AreaRegionDto> getCities(String parentId);
    
    List<AreaRegionDto> getProvinces();

}