package com.bocloud.ims.interfaces.resource;

import com.bocloud.cmp.model.DataCenterBean;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.common.model.GridBean;
import com.bocloud.common.model.Pager;
import com.bocloud.common.model.RequestContext;
import com.bocloud.ims.entity.resource.DataCenter;

/**
 * 数据中心抽象Service接口
 *
 * @author wei wei
 * @version 1.0
 * @since 2016.02.27
 */
public interface DataCenterService {

    /**
     * 添加数据中心
     *
     * @param dataCenter the dataCenter
     * @return the result
     */
    BocloudResult<DataCenter> create(DataCenter dataCenter, Long userId);

    /**
     * 更新数据中心
     *
     * @param bean   the bean
     * @param userId the user id
     * @return the result
     */
    BocloudResult<DataCenter> modify(DataCenterBean bean, Long userId);

    /**
     * 逻辑删除数据中心
     *
     * @param id the id
     * @param id the user id
     * @return the result
     */
    BocloudResult remove(Long id, Long userId);

    /**
     * 查询数据中心详细
     *
     * @param id the id
     * @return the result
     */
    BocloudResult basic(Long id);

    /**
     * 查询数据中心列表
     *
     * @param pager
     * @param context
     * @return
     */
    BocloudResult<GridBean<DataCenter>> list(Pager pager, RequestContext context);


    /**
     * 得到当前数据中心的基本信息和统计信息
     *
     * @param id the id
     * @return the result
     */
    BocloudResult<DataCenter> detail(Long id);

	BocloudResult resourceCount(Long dcId);

}
