package cn.com.qmth.examcloud.core.questions.service;

import cn.com.qmth.examcloud.core.questions.dao.entity.Property;
import cn.com.qmth.examcloud.core.questions.dao.entity.dto.PropertyDto;

import java.util.List;

/**
 * @author weiwenhai
 * @describle 属性service
 * @date 2017.11.6
 */
public interface PropertyService {

    /**
     * 保存属性
     */
    void saveProperty(List<PropertyDto> dtoList, Long orgId);

    /**
     * 新增属性
     */
    void saveProperty(PropertyDto dto);

    /**
     * 删除属性
     */
    void deleteProperty(String propertyId, String coursePropertyId, Long orgId);

    /**
     * 查询所有属性
     */
    List<Property> findProperties(String coursePropertyId, Long orgId);

    /**
     * 查询某个树下的子节点
     */
    List<Property> findSonProperties(String propertyId);

    /**
     * 查询课程属性下面的所有父节点
     */
    List<Property> findParentProperties(String coursePropertyId, Long orgId);

    /**
     * 查询属性
     */
    List<PropertyDto> findParentPropertyDtoList(String coursePropertyId, Long orgId);

    /**
     * 上移
     */
    void moveUp(PropertyDto dto);

    /**
     * 下移
     */
    void moveDown(PropertyDto dto);

}