package com.idega.block.finance.business;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2000-2001 idega.is All Rights Reserved
* Company: idega
* @author <a href="mailto:aron@idega.is">Aron Birkir</a>
* @version 1.1
*/
public class FinanceBusiness {
/*
public static int saveCategory(int iCategoryId,int iObjectInstanceId,String Name,String info){
int id = -1;
try {
FinanceCategory cat = ((com.idega.block.finance.data.FinanceCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(FinanceCategory.class)).createLegacy();
boolean update = false;
if(iCategoryId > 0){
cat = ((com.idega.block.finance.data.FinanceCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(FinanceCategory.class)).findByPrimaryKeyLegacy(iCategoryId);
update = true;
}
cat.setName(Name);
cat.setDescription(info);
if(update)
cat.update();
else
cat.insert();
// Binding category to instanceId
if(iObjectInstanceId > 0){
ICObjectInstance objIns = ((com.idega.core.component.data.ICObjectInstanceHome)com.idega.data.IDOLookup.getHomeLegacy(ICObjectInstance.class)).findByPrimaryKeyLegacy(iObjectInstanceId);
// Allows only one category per instanceId
objIns.removeFrom(((com.idega.block.finance.data.FinanceCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(FinanceCategory.class)).createLegacy());
cat.addTo(objIns);
}
id = cat.getID();
}
catch (SQLException ex) {
ex.printStackTrace();
}
return id;
}
public static boolean disconnectBlock(int instanceid){
List L = FinanceFinder.getInstance().listOfEntityForObjectInstanceId(instanceid);
if(L!= null){
Iterator I = L.iterator();
while(I.hasNext()){
FinanceCategory cat = (FinanceCategory) I.next();
disconnectCategory(cat,instanceid);
}
return true;
}
else
return false;
}
public static boolean disconnectCategory(FinanceCategory Cat,int iObjectInstanceId){
try {
Cat.setValid(false);
Cat.update();
if(iObjectInstanceId > 0 ){
ICObjectInstance obj = ((com.idega.core.component.data.ICObjectInstanceHome)com.idega.data.IDOLookup.getHomeLegacy(ICObjectInstance.class)).findByPrimaryKeyLegacy(iObjectInstanceId);
Cat.removeFrom(obj);
}
return true;
}
catch (SQLException ex) {
}
return false;
}
public static boolean deleteBlock(int instanceid){
return disconnectBlock(instanceid);
}
public static void deleteCategory(int iCategoryId){
deleteCategory(iCategoryId ,FinanceFinder.getInstance().getObjectInstanceIdFromCategoryId(iCategoryId));
}
public static void deleteCategory(int iCategoryId ,int iObjectInstanceId) {
javax.transaction.TransactionManager t = com.idega.transaction.IdegaTransactionManager.getInstance();
try {
t.begin();
// List O = TextFinder.listOfObjectInstanceTexts();
FinanceCategory cat = ((com.idega.block.finance.data.FinanceCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(FinanceCategory.class)).findByPrimaryKeyLegacy( iCategoryId );
if(iObjectInstanceId > 0 ){
ICObjectInstance obj = ((com.idega.core.component.data.ICObjectInstanceHome)com.idega.data.IDOLookup.getHomeLegacy(ICObjectInstance.class)).findByPrimaryKeyLegacy(iObjectInstanceId);
cat.removeFrom(obj);
}
cat.delete();
t.commit();
}
catch(Exception e) {
try {
t.rollback();
}
catch(javax.transaction.SystemException ex) {
ex.printStackTrace();
}
e.printStackTrace();
}
}
public static int createCategory(int iObjectInstanceId){
return saveCategory(-1,iObjectInstanceId,"Finance","Finance category" );
}
public static boolean updateCategoryDescription(int id ,String description){
try {
FinanceCategory cat = ((com.idega.block.finance.data.FinanceCategoryHome)com.idega.data.IDOLookup.getHomeLegacy(FinanceCategory.class)).findByPrimaryKeyLegacy(id);
cat.setDescription(description);
cat.update();
return true;
}
catch (SQLException ex) {
ex.printStackTrace();
}
return false;
}
public static boolean saveTariffKey(int id, String sName,String sInfo, int iCategoryId){
try {
TariffKey key = ((com.idega.block.finance.data.TariffKeyHome)com.idega.data.IDOLookup.getHomeLegacy(TariffKey.class)).createLegacy();
boolean update = false;
if(iCategoryId > 0){
if(id > 0){
key = ((com.idega.block.finance.data.TariffKeyHome)com.idega.data.IDOLookup.getHomeLegacy(TariffKey.class)).findByPrimaryKeyLegacy(id);
update = true;
}
key.setName(sName);
key.setInfo(sInfo);
key.setCategoryId(iCategoryId);
if(update){
key.update();
}
else{
key.insert();
}
return true;
}
return false;
}
catch (SQLException ex) {
ex.printStackTrace();
}
return false;
}
public static boolean deleteTariffKey(int id){
try {
((com.idega.block.finance.data.TariffKeyHome)com.idega.data.IDOLookup.getHomeLegacy(TariffKey.class)).findByPrimaryKeyLegacy(id).delete();
return true;
}
catch (SQLException ex) {
}
return false;
}
public static boolean deleteTariffIndex(int id){
try {
((com.idega.block.finance.data.TariffIndexHome)com.idega.data.IDOLookup.getHomeLegacy(TariffIndex.class)).findByPrimaryKeyLegacy(id).delete();
return true;
}
catch (SQLException ex) {
}
return false;
}
public static boolean saveTariffIndex(int id, String sName,String sInfo,
String sType, float newvalue,float oldvalue,Timestamp stamp, int iCategoryId){
try {
TariffIndex ti = ((com.idega.block.finance.data.TariffIndexHome)com.idega.data.IDOLookup.getHomeLegacy(TariffIndex.class)).createLegacy();
boolean update = false;
if(iCategoryId > 0){
if(id > 0){
ti = ((com.idega.block.finance.data.TariffIndexHome)com.idega.data.IDOLookup.getHomeLegacy(TariffIndex.class)).findByPrimaryKeyLegacy(id);
update = true;
}
ti = ((com.idega.block.finance.data.TariffIndexHome)com.idega.data.IDOLookup.getHomeLegacy(TariffIndex.class)).createLegacy();
ti.setName(sName);
ti.setInfo(sInfo);
ti.setOldValue(oldvalue);
ti.setIndex(newvalue);
ti.setDate(stamp);
ti.setType(sType);
ti.setCategoryId(iCategoryId);
ti.setNewValue(newvalue);
if(update){
ti.update();
}
else{
ti.insert();
}
return true;
}
return false;
}
catch (SQLException ex) {
ex.printStackTrace();
}
return false;
}
public static boolean saveAccountKey(int id, String sName,String sInfo,int TariffKeyId, int iCategoryId){
try {
AccountKey key = ((com.idega.block.finance.data.AccountKeyHome)com.idega.data.IDOLookup.getHomeLegacy(AccountKey.class)).createLegacy();
boolean update = false;
if(id > 0){
key = ((com.idega.block.finance.data.AccountKeyHome)com.idega.data.IDOLookup.getHomeLegacy(AccountKey.class)).findByPrimaryKeyLegacy(id);
update = true;
}
key.setName(sName);
key.setInfo(sInfo);
key.setTariffKeyId(TariffKeyId);
key.setCategoryId(iCategoryId);
if(update)
key.update();
else
key.insert();
return true;
}
catch (SQLException ex) {
//ex.printStackTrace();
}
return false;
}
public static boolean deleteAccountKey(int id){
try {
((com.idega.block.finance.data.AccountKeyHome)com.idega.data.IDOLookup.getHomeLegacy(AccountKey.class)).findByPrimaryKeyLegacy(id).delete();
return true;
}
catch (SQLException ex) {
}
return false;
}
public static boolean updateTariffPrice(int id, float Price, Timestamp indexStamp){
try {
Tariff tariff = ((TariffHome)com.idega.data.IDOLookup.getHome(Tariff.class)).findByPrimaryKey(new Integer(id));
tariff.setPrice(Price);
if(indexStamp!=null)
tariff.setIndexUpdated(indexStamp);
tariff.store();
return true;
} catch (Exception e) {
//e.printStackTrace();
return false;
}
}
public static boolean saveTariff(int id, String sName,String sInfo,
String sAtt,String sIndex,boolean useIndex, Timestamp indexStamp,
float Price,int iAccountKeyId,int iTariffGroupId){
try {
Tariff tariff = ((TariffHome)com.idega.data.IDOLookup.getHome(Tariff.class)).create();
if(id > 0){
tariff = ((TariffHome)com.idega.data.IDOLookup.getHome(Tariff.class)).findByPrimaryKey(new Integer(id));
}
tariff.setName(sName);
tariff.setInfo(sInfo);
tariff.setTariffAttribute(sAtt);
tariff.setAccountKeyId(iAccountKeyId);
tariff.setTariffGroupId(iTariffGroupId);
tariff.setPrice(Price);
tariff.setUseFromDate(IWTimestamp.getTimestampRightNow());
tariff.setUseToDate(IWTimestamp.getTimestampRightNow());
tariff.setIndexType(sIndex);
tariff.setUseIndex(useIndex);
if(indexStamp!=null)
tariff.setIndexUpdated(indexStamp);
tariff.store();
return true;
}
catch (Exception ex) {
//ex.printStackTrace();
}
return false;
}
public static boolean deleteTariff(int id){
try {
((TariffHome)com.idega.data.IDOLookup.getHome(Tariff.class)).findByPrimaryKey(new Integer(id)).remove();
return true;
}
catch (Exception ex) {
}
return false;
}
public static int saveTariffGroup(int id, String sName,String sInfo,
int HandlerId,boolean useIndex,int iCategoryId){
int rid = -1;
try {
TariffGroup tariff = ((com.idega.block.finance.data.TariffGroupHome)com.idega.data.IDOLookup.getHomeLegacy(TariffGroup.class)).createLegacy();
boolean update = false;
if(id > 0){
tariff = ((com.idega.block.finance.data.TariffGroupHome)com.idega.data.IDOLookup.getHomeLegacy(TariffGroup.class)).findByPrimaryKeyLegacy(id);
update = true;
}
tariff.setName(sName);
tariff.setInfo(sInfo);
tariff.setCategoryId(iCategoryId);
tariff.setUseIndex(useIndex);
if(HandlerId > 0)
tariff.setHandlerId(HandlerId);
if(update)
tariff.update();
else
tariff.insert();
rid = tariff.getID();
}
catch (SQLException ex) {
//ex.printStackTrace();
}
return rid;
}
//savePaymentType(ID,sName,sInfo,iCategoryId,payments,cost,percent);
public static boolean savePaymentType(int id, String sName,String sInfo,
int iCategoryId,Integer payments,Float cost,Float percent){
try {
PaymentType key = ((com.idega.block.finance.data.PaymentTypeHome)com.idega.data.IDOLookup.getHomeLegacy(PaymentType.class)).createLegacy();
boolean update = false;
if(iCategoryId > 0){
if(id > 0){
key = ((com.idega.block.finance.data.PaymentTypeHome)com.idega.data.IDOLookup.getHomeLegacy(PaymentType.class)).findByPrimaryKeyLegacy(id);
update = true;
}
key.setName(sName);
key.setInfo(sInfo);
key.setCategoryId(iCategoryId);
if(payments!=null)
key.setPayments(payments.intValue());
if(cost !=null)
key.setAmountCost(cost.floatValue());
if(percent !=null)
key.setPercentCost(percent.floatValue());
if(update){
key.update();
}
else{
key.insert();
}
return true;
}
return false;
}
catch (SQLException ex) {
ex.printStackTrace();
}
return false;
}
*/
}