package is.idega.idegaweb.member.isi.block.accounting.business; import is.idega.idegaweb.member.isi.block.accounting.data.ClubTariff; import javax.ejb.CreateException; import java.util.Map; import com.idega.user.data.User; import java.sql.Date; import is.idega.idegaweb.member.isi.block.accounting.data.CreditCardType; import is.idega.idegaweb.member.isi.block.accounting.data.ClubTariffType; import com.idega.user.business.UserGroupPlugInBusiness; import java.rmi.RemoteException; import java.sql.Timestamp; import is.idega.idegaweb.member.isi.block.accounting.data.FinanceEntry; import com.idega.user.data.Group; import java.util.Collection; import com.idega.util.IWTimestamp; import com.idega.business.IBOService; import is.idega.idegaweb.member.isi.block.accounting.data.AssessmentRound; import java.util.List; import com.idega.presentation.PresentationObject; import com.idega.idegaweb.IWUserContext; import javax.ejb.RemoveException; import is.idega.idegaweb.member.isi.block.accounting.data.PaymentType; public interface AccountingBusiness extends IBOService, UserGroupPlugInBusiness { /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#doAssessment */ public boolean doAssessment(String name, Group club, Group division, String groupId, User user, boolean includeChildren, String tariff, Timestamp paymentDate, Date tariffValidFrom, Date tariffValidTo, String amount, String skip) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllTariffByClub */ public Collection findAllTariffByClub(Group club) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllTariffByClubAndDivision */ public Collection findAllTariffByClubAndDivision(Group club, Group division) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllValidTariffByGroup */ public Collection findAllValidTariffByGroup(Group group) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllValidTariffByGroup */ public Collection findAllValidTariffByGroup(String groupId) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertTariff */ public ClubTariff insertTariff(Group club, Group division, Group group, ClubTariffType type, String text, double amount, Date from, Date to) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findDivisionForGroup */ public Group findDivisionForGroup(Group group) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findClubForGroup */ public Group findClubForGroup(Group group) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#deleteTariff */ public boolean deleteTariff(String[] ids) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllTariffTypeByClub */ public Collection findAllTariffTypeByClub(Group club) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertTariffType */ public boolean insertTariffType(String type, String name, String locKey, Group club) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#deleteTariffType */ public boolean deleteTariffType(String[] ids) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllCreditCardType */ public Collection findAllCreditCardType() throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getVisaCreditCardType */ public CreditCardType getVisaCreditCardType() throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllCreditCardContractByClub */ public Collection findAllCreditCardContractByClub(Group club) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllCreditCardContractByClubAndDivisionAndType */ public Collection findAllCreditCardContractByClubAndDivisionAndType(Group club, Group division, CreditCardType type) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertCreditCardContract */ public boolean insertCreditCardContract(Group club, String division, String group, String contractNumber, String type, String ssn, String companyNumber) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertCreditCardContract */ public boolean insertCreditCardContract(Group club, Group division, Group group, String contractNumber, CreditCardType type, String ssn, String companyNumber) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#deleteContract */ public boolean deleteContract(String[] ids) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllAssessmentRoundByClubAndDivision */ public Collection findAllAssessmentRoundByClubAndDivision(Group club, Group division) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertAssessmentRound */ public AssessmentRound insertAssessmentRound(String name, Group club, Group division, Group group, User user, Timestamp start, Timestamp end, boolean includeChildren, Timestamp paymentDate, Date tariffValidFrom, Date tariffValidTo, String amount) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#deleteAssessmentRound */ public boolean deleteAssessmentRound(String[] ids) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertPayment */ public boolean insertPayment(String type, String amount, User currentUser, Map basket, IWUserContext iwuc) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertPayment */ public boolean insertPayment(String type, String amount, User currentUser, Map basket, IWUserContext iwuc, String payedBy, String dueDate, String finalDueDate) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertPayment */ public boolean insertPayment(PaymentType type, int amount, User currentUser, Map basket, IWUserContext iwuc) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertPayment */ public boolean insertPayment(PaymentType type, int amount, User currentUser, Map basket, IWUserContext iwuc, User payedBy, IWTimestamp dueDate, IWTimestamp finalDueDate) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertPayment */ public boolean insertPayment(Group club, Group division, User contractUser, String cardNumber, String cardType, IWTimestamp expires, IWTimestamp firstPayment, int nop, String paymentType, String[] amount, User currentUser, Map basket, IWUserContext iwuc) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertPayment */ public boolean insertPayment(Group club, Group division, User contractUser, String cardNumber, CreditCardType cardType, IWTimestamp expires, IWTimestamp firstPayment, int nop, PaymentType type, int[] amount, User currentUser, Map basket, IWUserContext iwuc) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertManualAssessment */ public boolean insertManualAssessment(Group club, Group div, User user, String groupId, String tariffId, String amount, String info, User currentUser, Timestamp paymentDate) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#insertManualAssessment */ public boolean insertManualAssessment(Group club, Group div, User user, Group group, ClubTariff tariff, double amount, String info, User currentUser, Timestamp paymentDate) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#equalizeEntries */ public void equalizeEntries(Group club, Group div, User user, double amount) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllOpenAssessmentEntriesByUserGroupAndDivision */ public Collection findAllOpenAssessmentEntriesByUserGroupAndDivision(Group club, Group div, User user) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllPaymentEntriesByUserGroupAndDivision */ public Collection findAllPaymentEntriesByUserGroupAndDivision(Group club, Group div, User user) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getFinanceEntryByPrimaryKey */ public FinanceEntry getFinanceEntryByPrimaryKey(Integer id) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#findAllPaymentTypes */ public Collection findAllPaymentTypes() throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getFinanceEntriesByDateIntervalDivisionsAndGroups */ public Collection getFinanceEntriesByDateIntervalDivisionsAndGroups(Group club, String[] types, Date dateFrom, Date dateTo, Collection divisionsFilter, Collection groupsFilter, String personalID) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getFinanceEntriesByPaymentDateDivisionsAndGroups */ public Collection getFinanceEntriesByPaymentDateDivisionsAndGroups(Group club, String[] types, Collection divisionsFilter, Collection groupsFilter, String personalID) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#beforeUserRemove */ public void beforeUserRemove(User user, Group parentGroup) throws RemoveException, RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#afterUserCreateOrUpdate */ public void afterUserCreateOrUpdate(User user, Group parentGroup) throws CreateException, RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#beforeGroupRemove */ public void beforeGroupRemove(Group group, Group parentGroup) throws RemoveException, RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#afterGroupCreateOrUpdate */ public void afterGroupCreateOrUpdate(Group group, Group parentGroup) throws CreateException, RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#instanciateEditor */ public PresentationObject instanciateEditor(Group group) throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#instanciateViewer */ public PresentationObject instanciateViewer(Group group) throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getUserPropertiesTabs */ public List getUserPropertiesTabs(User user) throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getGroupPropertiesTabs */ public List getGroupPropertiesTabs(Group group) throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getMainToolbarElements */ public List getMainToolbarElements() throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getGroupToolbarElements */ public List getGroupToolbarElements(Group group) throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#isUserAssignableFromGroupToGroup */ public String isUserAssignableFromGroupToGroup(User user, Group sourceGroup, Group targetGroup) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#isUserSuitedForGroup */ public String isUserSuitedForGroup(User user, Group targetGroup) throws RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#canCreateSubGroup */ public String canCreateSubGroup(Group group, String groupTypeOfSubGroup) throws RemoteException, RemoteException; /** * @see is.idega.idegaweb.member.isi.block.accounting.business.AccountingBusinessBean#getInvoiceReceiver */ public User getInvoiceReceiver(User invoicedUser, Group group) throws RemoteException; }