package com.acme.model.domain.ad.sessionbean;


import com.acme.model.domain.ad.entity.City;
import com.acme.model.domain.ad.entity.Country;
import com.acme.structure.GridData;
import com.acme.structure.ServerResponse;
import com.acme.structure.exception.persistent.RemovedEntityException;

import java.util.Collection;

import javax.ejb.Remote;


@Remote
public interface ADManager
{
    public Collection findCountries();

//    public Collection findBranchsForList();

    public Collection findBranchs();

    public Collection findDepartments();

    public ServerResponse synchronizeDepartments(GridData gridData) throws Exception;

    public Collection findDepartmentsForList();

    public ServerResponse synchronizeCompanies(GridData gridData) throws Exception;

    public Collection findCompanies();

    public ServerResponse synchronizeCountries(GridData gridData) throws Exception;

    public Collection findUnitGroups();

    public ServerResponse synchronizeUnitGroups(GridData gridData) throws Exception;

    public Collection findCurrencies();

    public ServerResponse synchronizeCurrencies(GridData gridData) throws Exception;
    
    public Collection findCitiesForCountryList(Country country) throws RemovedEntityException;
    
    public Collection findCitiesForList();
    
    public Collection findDistrictsForCityList(City city) throws RemovedEntityException;
    
    public Collection findDistrictsForList();
    
    public ServerResponse synchronizeEmployees(GridData gridData) throws Exception;

    public Collection findEmployees();
    
    public Collection findUnitGroupsForList();
    
    public Collection findCurrenciesForList();
    
}
