using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Bowin.Common.Linq.Entity;
using EMIS.ViewModel.ScoreManage;
using EMIS.ViewModel;
using EMIS.Entities;
using System.Dynamic;
using System.Linq.Expressions;
using EMIS.ViewModel.Cultureplan;
namespace EMIS.CommonLogic.ScoreManage
{
public interface IStudentScoreServices
{
///
/// 查询已提交成绩
///
///
///
///
///
///
///
///
///
///
///
///
IGridResultSet GetStudentScoreViewGrid(ConfiguretView configuretView, Guid? collegeID,
Guid? departmentID, Guid? schoolyearID, Guid? coursematerialID, int? courseTypeID, int? examsCategoryID, int? standardID, Guid? classmajorID, int? starttermBegin, int? starttermEnd, int? yearID, int? learningformID,int? handleModeID, int? education, string LearnSystem, int pageIndex, int pageSize);
///
/// 查询已提交成绩
///
///
///
///
///
///
///
///
///
///
List GetStudentScoreViewList(ConfiguretView configuretView, Guid? collegeID,
Guid? departmentID, Guid? schoolyearID, Guid? coursematerialID, int? courseTypeID, int? examsCategoryID, Guid? grademajorID, Guid? classmajorID, int? yearID, int? learningformID, int? education, string LearnSystem, List submitedScoreIDList);
///
/// 查询已提交成绩信息
///
///
///
StudentScoreView GetStudentScoreView(Guid? submitedScoreID);
///
/// 查询已提交成绩信息
///
///
///
ER_SubmitedScore GetSubmitedScore(Guid? submitedScoreID);
///
/// 添加/修改
///
///
void StudentScoreAdd(StudentScoreView studentScoreView, List listExpandoObject);
///
/// 删除
///
///
void StudentScoreDelete(List submitedScoreIDs);
void ValidateDuplicate(Guid? submitedScoreID, Guid? userID, Guid? coursematerialID, int? examsCategoryID, int? startTermID);
void RefreshFinallyScoreBySubmitedScoreID(IList submitedScoreIDList);
void RefreshFinallyScore(Guid coursematerialID, Guid? userID, int? startTermID);
void RefreshFinallyScore(Guid coursematerialID, IList userIDList, int? startTermID);
string GetClassByUserID(Guid userID);
void RefreshFinallyScoreBeforeDelete(Expression> exp);
List GetResultTypeDetail(int typeID);
ER_ResultTypeDetail GetResultTypeDetailByDetaliID(Guid resultTypedetailID);
ER_ResultTypeDetail GetResultTypeDetailByIDandScore(int typeID, decimal Score);
Guid? GetDepartmentByUserID(Guid UserID);
void RefreshFinallyScoreBySubmitedBeforeDeleteScoreID(IList submitedScoreIDList);
List GetNormalExamsState();
List GetStarttermList(int? year);
IGridResultSet GetFinallyScoreCoursematerialViewGrid(ConfiguretView conditionView, Guid userID, int? pageIndex, int? pageSize);
FinallyScoreView GetFinallyScoreView(Guid userID, Guid coursematerialID);
}
}