using System;
using System.Collections.Generic;
using System.Text;
using Song.Entities;
using System.Data;
namespace Song.ServiceInterfaces
{
///
/// 试卷的管理
///
public interface ITestPaper : WeiSha.Common.IBusinessInterface
{
#region 试卷管理
///
/// 添加试卷
///
/// 试卷对象
int PagerAdd(TestPaper entity);
///
/// 修改试卷
///
/// 业务实体
void PagerSave(TestPaper entity);
///
/// 删除试卷,按主键ID;
///
/// 实体的主键
void PagerDelete(int identify);
///
/// 获取单一试卷实体对象,按主键ID;
///
/// 实体的主键
///
TestPaper PagerSingle(int identify);
TestPaper PagerSingle(string name);
///
/// 获取试卷
///
/// 机构id
/// 学科id
/// 课程id
///
///
///
///
TestPaper[] PagerCount(int orgid, int sbjid, int couid, int diff, bool? isUse, int count);
TestPaper[] PagerCount(string search, int orgid, int sbjid, int couid, int diff, bool? isUse, int count);
///
/// 计算有多少个试卷
///
///
///
///
///
///
int PagerOfCount(int orgid, int sbjid, int couid, int diff, bool? isUse);
///
/// 分页获取试卷
///
/// 机构id
/// 学科id
/// 难度等级
/// 是否使用
/// 标题检索
///
///
///
///
TestPaper[] PaperPager(int orgid, int sbjid, int couid, int diff, bool? isUse, string sear, int size, int index, out int countSum);
#endregion
#region 试卷的试题项
///
/// 按课程抽题时,试卷各题型占比与分数
///
/// 试卷对象
///
TestPaperItem[] GetItemForAll(TestPaper tp);
///
/// 按章节抽题时,各题型占比
///
/// 试卷对象
///
TestPaperItem[] GetItemForOlPercent(TestPaper tp);
///
/// 按章节抽题时,各章节题型数量
///
/// 试卷对象
/// 章节id,如果小于1,则取所有
///
TestPaperItem[] GetItemForOlCount(TestPaper tp, int olid);
///
/// 返回试卷的大项,不管是按课程,还是按章节
///
///
///
TestPaperItem[] GetItemForAny(TestPaper tp);
#endregion
#region 出卷
///
/// 出卷,输出试卷内容
///
/// 试卷对象
///
Dictionary Putout(TestPaper tp);
#endregion
#region 试卷测试的答题
///
/// 添加测试成绩,返回得分
///
///
/// 返回得分
float ResultsAdd(TestResults entity);
///
/// 修改测试成绩,返回得分
///
/// 业务实体
/// 返回得分
float ResultsSave(TestResults entity);
///
/// 当前考试的及格率
///
///
///
float ResultsPassrate(int identify);
///
/// 参考人次
///
///
///
int ResultsPersontime(int identify);
///
/// 计算该试卷的所有测试的平均分
///
///
///
float ResultsAverage(int identify);
///
/// 计算该试卷的所有测试的最高分
///
///
///
TestResults ResultsHighest(int identify);
///
/// 计算该试卷的所有测试的最低分
///
///
///
TestResults ResultsLowest(int identify);
///
/// 删除测试成绩,按主键ID;
///
/// 实体的主键
void ResultsDelete(int identify);
///
/// 获取单一实体对象,按主键ID;
///
/// 实体的主键
///
TestResults ResultsSingle(int identify);
///
/// 获取某员工的测试成绩
///
///
///
///
///
TestResults[] ResultsCount(int stid, int sbjid, int couid, string sear, int count);
///
/// 分页获取测试成绩
///
///
///
///
///
///
///
///
TestResults[] ResultsPager(int stid, int sbjid, int couid, int size, int index, out int countSum);
TestResults[] ResultsPager(int stid, int sbjid, int couid, string sear, int size, int index, out int countSum);
///
/// 按试卷分页返回测试成绩
///
/// 学员id
/// 试卷id
///
///
///
///
TestResults[] ResultsPager(int stid, int tpid, int size, int index, out int countSum);
#endregion
}
}