package is.idega.idegaweb.campus.block.allocation.business; import is.idega.idegaweb.campus.block.allocation.data.AutomaticChargesHome; import java.util.Map; import java.rmi.RemoteException; import java.sql.Timestamp; import is.idega.idegaweb.campus.block.finance.business.CampusAssessmentBusiness; import com.idega.block.application.data.Applicant; import is.idega.idegaweb.campus.block.allocation.data.Contract; import is.idega.idegaweb.campus.block.building.data.ApartmentTypePeriods; import is.idega.idegaweb.campus.block.allocation.data.AutomaticCharges; import com.idega.block.building.business.BuildingService; import is.idega.idegaweb.campus.block.application.business.ApplicationService; import is.idega.idegaweb.campus.block.allocation.data.ContractTariffNameHome; import com.idega.util.IWTimestamp; import is.idega.idegaweb.campus.block.allocation.data.ContractTariffHome; import com.idega.block.building.data.Apartment; import is.idega.idegaweb.campus.block.application.data.WaitingListHome; import com.idega.block.finance.data.AccountHome; import java.util.Collection; import is.idega.idegaweb.campus.block.allocation.data.ContractHome; import is.idega.idegaweb.campus.data.ContractAccountApartmentHome; import is.idega.idegaweb.campus.block.allocation.data.ContractTextHome; import com.idega.block.finance.data.AccountKeyHome; import com.idega.block.application.data.Application; import com.idega.business.IBOService; import is.idega.idegaweb.campus.business.CampusGroupException; import java.util.Date; import is.idega.idegaweb.campus.business.CampusUserService; import is.idega.idegaweb.campus.block.mailinglist.business.MailingListService; import javax.ejb.CreateException; import com.idega.user.data.User; import javax.ejb.FinderException; import com.idega.idegaweb.IWResourceBundle; public interface ContractService extends IBOService { /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#signContract */ public String signContract(Integer contractID, Integer groupID, Integer cashierID, Integer financeCategoryID, String sEmail, boolean sendMail, boolean newAccount, boolean newPhoneAccount, boolean newLogin, boolean generatePasswd, IWResourceBundle iwrb, String login, String passwd) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#createUserLogin */ public void createUserLogin(User user, Integer groupID, String login, String pass, boolean generatePasswd) throws Exception, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#changeApplicationStatus */ public void changeApplicationStatus(Contract eContract) throws Exception, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#deleteFromWaitingList */ public void deleteFromWaitingList(Contract eContract) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#deleteFromWaitingList */ public void deleteFromWaitingList(Application application) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#deleteFromWaitingList */ public void deleteFromWaitingList(Applicant applicant) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#endContract */ public void endContract(Integer contractID, IWTimestamp movingDate, String info, boolean datesync) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#endContract */ public void endContract(Contract C, IWTimestamp movingDate, String info, boolean datesync) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#endExpiredContracts */ public void endExpiredContracts() throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#garbageEndedContracts */ public void garbageEndedContracts(java.sql.Date lastChangeDate) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#garbageResignedContracts */ public void garbageResignedContracts(java.sql.Date lastChangeDate) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#finalizeGarbageContracts */ public void finalizeGarbageContracts(java.sql.Date lastChangeDate) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#automaticKeyStatusChange */ public void automaticKeyStatusChange() throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#returnKey */ public void returnKey(Integer contractID, User currentUser) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#deliverKey */ public void deliverKey(Integer contractID, Timestamp when, boolean addKeyCharge, Integer accountKeyId, Integer tariffGroupId, Integer financeCategoryId, double amount) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getCampusAssessmentBusiness */ public CampusAssessmentBusiness getCampusAssessmentBusiness() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#resignContract */ public void resignContract(Integer contractID, IWTimestamp movingDate, String info, boolean datesync, boolean deleteContinuationContracts, String subjectID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#createNewContract */ public Contract createNewContract(Integer userID, Integer applicantID, Integer apartmentID, Date from, Date to, Integer applicationID) throws RemoteException, CreateException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#createUserFamily */ public User createUserFamily(Applicant applicant, String[] emails) throws RemoteException, CreateException, CampusGroupException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#createNewUser */ public User createNewUser(Applicant A, String[] emails) throws RemoteException, CreateException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#deleteAllocation */ public boolean deleteAllocation(Integer contractID, User currentUser) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractStampsFromPeriod */ public IWTimestamp[] getContractStampsFromPeriod(ApartmentTypePeriods ATP, int monthOverlap) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractStampsForApartment */ public IWTimestamp[] getContractStampsForApartment(Integer apartmentID) throws FinderException, RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractStampsForApartment */ public IWTimestamp[] getContractStampsForApartment(Apartment apartment) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractStampsFromPeriod */ public IWTimestamp[] getContractStampsFromPeriod(ApartmentTypePeriods ATP, Integer monthOverlap) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getLocalizedStatus */ public String getLocalizedStatus(IWResourceBundle iwrb, String status) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#doGarbageContract */ public boolean doGarbageContract(Integer contractID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getApartmentTypePeriod */ public ApartmentTypePeriods getApartmentTypePeriod(Integer typeID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#allocate */ public Contract allocate(Integer contractID, Integer apartmentID, Integer applicantID, Date validFrom, Date validTo, Integer applicationID) throws AllocationException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getValidPeriod */ public Period getValidPeriod(Contract contract, Apartment apartment, Integer dayBuffer, Integer monthOverlap) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getNextAvailableDate */ public Date getNextAvailableDate(Apartment apartment) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getIsContractResigned */ public boolean getIsContractResigned(Apartment apartment) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#resetWaitingListRejection */ public void resetWaitingListRejection(Integer waitingListID) throws RemoteException, FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#reactivateWaitingList */ public void reactivateWaitingList(Integer waitingListID) throws RemoteException, FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#removeWaitingList */ public void removeWaitingList(Integer waitingListID) throws RemoteException, FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAvailableApartmentDates */ public Map getAvailableApartmentDates(Integer aprtTypeID, Integer cplxID) throws FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getApplicantContractsByStatus */ public Map getApplicantContractsByStatus(String status) throws RemoteException, FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getRentableStatuses */ public String[] getRentableStatuses() throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAllocateableStatuses */ public String[] getAllocateableStatuses() throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getResignStatus */ public String[] getResignStatus() throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAllowedTemporaryPersonalID */ public Collection getAllowedTemporaryPersonalID() throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAutomaticChargesByUser */ public AutomaticCharges getAutomaticChargesByUser(User user) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#addChargeForUnlimitedDownloadToUser */ public void addChargeForUnlimitedDownloadToUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#removeChargeForUnlimitedDownloadForUser */ public void removeChargeForUnlimitedDownloadForUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#addChargeForHandlingToUser */ public void addChargeForHandlingToUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#removeChargeForHandlingForUser */ public void removeChargeForHandlingForUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#addChargeForTransferToUser */ public void addChargeForTransferToUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#removeChargeForTransferForUser */ public void removeChargeForTransferForUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#removeAllAutomaticChargesForUser */ public void removeAllAutomaticChargesForUser(String userID) throws RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getNewApplicantContracts */ public Map getNewApplicantContracts() throws RemoteException, FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getPrintedContracts */ public Map getPrintedContracts() throws RemoteException, FinderException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getUserService */ public CampusUserService getUserService() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractHome */ public ContractHome getContractHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAutomaticChargesHome */ public AutomaticChargesHome getAutomaticChargesHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAccountHome */ public AccountHome getAccountHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractTextHome */ public ContractTextHome getContractTextHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getWaitingListHome */ public WaitingListHome getWaitingListHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractAccountApartmentHome */ public ContractAccountApartmentHome getContractAccountApartmentHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getAccountKeyHome */ public AccountKeyHome getAccountKeyHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getMailingListService */ public MailingListService getMailingListService() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getApplicationService */ public ApplicationService getApplicationService() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getBuildingService */ public BuildingService getBuildingService() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractTariffHome */ public ContractTariffHome getContractTariffHome() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.campus.block.allocation.business.ContractServiceBean#getContractTariffNameHome */ public ContractTariffNameHome getContractTariffNameHome() throws RemoteException, RemoteException; }