Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package in.shop2020.server;

import in.shop2020.model.ItemActivityWithSource;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.jdo.Extent;
import javax.jdo.PersistenceManager;
import javax.jdo.Query;

public class ItemActivityWithSourceRepository {

        public List<ItemActivityWithSource> getAll() {
                PersistenceManager pm = PMF.get().getPersistenceManager();
                try {
                        List<ItemActivityWithSource> itemActivities = new ArrayList<ItemActivityWithSource>();
                    Extent<ItemActivityWithSource> extent = pm.getExtent(ItemActivityWithSource.class, false);
                    for (ItemActivityWithSource itemActivity : extent) {
                        itemActivities.add(itemActivity);
                    }
                    extent.closeAll();
                        
                    return itemActivities;
                } finally {
                        pm.close();
                }
        }

        public void create(ItemActivityWithSource itemActivity) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            String key = sdf.format(itemActivity.getDate()) + "-" + itemActivity.getIsPaidFirstSource()
                + "-" + itemActivity.getFirstSource() + "-" + itemActivity.getIsPaidSessionSource() + "-" 
                + itemActivity.getSessionSource() + "-" + itemActivity.getCatalogId();
            itemActivity.setKey(key);
                PersistenceManager pm = PMF.get().getPersistenceManager();
                try {
                    pm.makePersistent(itemActivity);
                } finally {
                        pm.close();
                }
        }

        public void createAll(List<ItemActivityWithSource> itemActivities) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        for (ItemActivityWithSource itemActivity : itemActivities) {
            String key = sdf.format(itemActivity.getDate()) + "-" + itemActivity.getIsPaidFirstSource()
                + "-" + itemActivity.getFirstSource() + "-" + itemActivity.getIsPaidSessionSource() + "-" 
                + itemActivity.getSessionSource() + "-" + itemActivity.getCatalogId();
                itemActivity.setKey(key);
            }
        PersistenceManager pm = PMF.get().getPersistenceManager();
        try {
            pm.makePersistentAll(itemActivities);
        } finally {
            pm.close();
        }
    }
        
        public void deleteById(String key) {
                PersistenceManager pm = PMF.get().getPersistenceManager();
                try {
                        pm.deletePersistent(pm.getObjectById(ItemActivityWithSource.class, key));
                } finally {
                        pm.close();
                }
        }
        
        public ItemActivityWithSource getById(String key) {
        PersistenceManager pm = PMF.get().getPersistenceManager();
        try {
            return pm.getObjectById(ItemActivityWithSource.class, key);
        } finally {
            pm.close();
        }
    }
        
        public List<ItemActivityWithSource> getByDate(Date date) {
            PersistenceManager pm = PMF.get().getPersistenceManager();
        Query query = pm.newQuery(ItemActivityWithSource.class);
        query.setFilter("date == dateParam");
        query.declareImports("import java.util.Date");
        query.declareParameters("Date dateParam");

        try {
            return (List<ItemActivityWithSource>) query.execute(date);
        } finally {
            query.closeAll();
        }
    }
}