Package in.partake.controller.action.admin

Source Code of in.partake.controller.action.admin.AdminCountAccess

package in.partake.controller.action.admin;

import java.util.HashMap;
import java.util.Map;

import in.partake.base.PartakeException;
import in.partake.controller.action.AbstractPartakeAction;
import in.partake.model.IPartakeDAOs;
import in.partake.model.access.DBAccess;
import in.partake.model.dao.DAOException;
import in.partake.model.dao.PartakeConnection;
import in.partake.model.dao.access.IEventAccess;
import in.partake.model.dao.access.IUserAccess;
import in.partake.model.dao.auxiliary.EventFilterCondition;
import in.partake.model.dto.ConfigurationItem;
import in.partake.resource.ConfigurationKeyConstants;
import play.mvc.Result;

public class AdminPageAction extends AbstractPartakeAction {
    public static Result get() throws DAOException, PartakeException {
        return new AdminPageAction().execute();
    }

    public Result doExecute() throws DAOException, PartakeException {
        ensureAdmin();

        AdminCountAccess transaction = new AdminCountAccess();
        transaction.execute();

        int countUser = transaction.getCountUser();
        int countEvent = transaction.getCountEvent();
        int countPublicEvent = transaction.getCountPublicEvent();
        int countPrivateEvent = transaction.getCountPrivateEvent();
        int countDraftEvent = transaction.getCountDraftEvent();
        int countPublishedEvent = transaction.getCountPublishedEvent();

        Map<String, String> configurationMap = transaction.getConfigurationMap();

        return render(views.html.admin.index.render(context(), configurationMap, countUser, countEvent, countPublicEvent, countPrivateEvent, countPublishedEvent, countDraftEvent));
    }
}

class AdminCountAccess extends DBAccess<Void> {
    private int countUser;

    private int countEvent;
    private int countPublicEvent;
    private int countPrivateEvent;
    private int countDraftEvent;
    private int countPublishedEvent;

    private Map<String, String> configurationMap;

    @Override
    protected Void doExecute(PartakeConnection con, IPartakeDAOs daos) throws DAOException, PartakeException {
        IUserAccess userAccess = daos.getUserAccess();
        countUser = userAccess.count(con);

        IEventAccess eventAccess = daos.getEventAccess();
        countEvent = eventAccess.count(con);
        countPublicEvent = eventAccess.count(con, EventFilterCondition.PUBLIC_EVENT_ONLY);
        countPrivateEvent = eventAccess.count(con, EventFilterCondition.PRIVATE_EVENT_ONLY);
        countDraftEvent = eventAccess.count(con, EventFilterCondition.DRAFT_EVENT_ONLY);
        countPublishedEvent = eventAccess.count(con, EventFilterCondition.PUBLISHED_EVENT_ONLY);

        configurationMap = new HashMap<String, String>();
        for (String key : ConfigurationKeyConstants.configurationkeySet) {
            ConfigurationItem item = daos.getConfiguraitonItemAccess().find(con, key);
            if (item != null)
                configurationMap.put(item.key(), item.value());
        }

        return null;
    }

    public int getCountUser() {
        return countUser;
    }

    public int getCountEvent() {
        return countEvent;
    }

    public int getCountPublicEvent() {
        return countPublicEvent;
    }

    public int getCountPrivateEvent() {
        return countPrivateEvent;
    }

    public int getCountDraftEvent() {
        return countDraftEvent;
    }

    public int getCountPublishedEvent() {
        return countPublishedEvent;
    }

    public Map<String, String> getConfigurationMap() {
        return configurationMap;
    }
}
TOP

Related Classes of in.partake.controller.action.admin.AdminCountAccess

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.