using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using EMIS.Entities;
using Bowin.Common.Linq.Entity;
using EMIS.ViewModel.ScoreManage;

namespace EMIS.CommonLogic.ScoreManage
{
    public interface IScoreFormulaServices
    {
        /// <summary>
        /// 查询成绩公式设置列表
        /// </summary>
        /// <param name="name"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        IGridResultSet<ER_ScoreFormula> GetScoreFormulaGrid(string name, int pageIndex, int pageSize);

        /// <summary>
        /// 查询成绩公式设置列表
        /// </summary>
        /// <param name="name"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        List<ER_ScoreFormula> GetScoreFormulaList(string name);

        List<ScoreFormulaDropdownView> GetScoreFormulaDropdownViewList(string name);

        /// <summary>
        /// 根据ID获取成绩公式设置
        /// </summary>
        /// <param name="scoreFormulaID"></param>
        /// <returns></returns>
        ER_ScoreFormula GetScoreFormula(Guid? scoreFormulaID);

        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="scoreFormulaView"></param>
        void ScoreFormulaAdd(ScoreFormulaView scoreFormulaView, List<ScoreFormulaDropdownDetailView> scoreFormulaDetailList);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="scoreFormulaIDs"></param>
        void ScoreFormulaDelete(List<Guid> scoreFormulaIDs);

        /// <summary>
        /// 根据成绩公式设置ID查询明细
        /// </summary>
        /// <param name="scoreFormulaID"></param>
        /// <returns></returns>
        List<ER_ScoreFormulaDetail> GetScoreFormulaDetailList(Guid? scoreFormulaID);

        List<ScoreFormulaDropdownDetailView> GetScoreFormulaDetailListByScoreFormulaID(Guid? scoreFormulaID);

        List<ER_CustomScoreFormula> GetCustomerScoreFormula();
    }
}