using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Bowin.Common.Linq.Entity;
using EMIS.ViewModel.CalendarManage;
using EMIS.ViewModel;
using EMIS.Entities;
using System.IO;
namespace EMIS.CommonLogic.CalendarManage
{
public interface ISchoolYearServices
{
///
/// 查询学年学期信息
///
/// 查询条件实体
/// 活动类型
/// 时间段
/// 页码
/// 显示页数
///
IGridResultSet GetSchoolYearViewGrid(ConfiguretView configuretView, int? isCurrent, int pageIndex, int pageSize);
///
/// 查询学年学期信息
///
/// 查询条件实体
///
List GetSchoolYearViewList(ConfiguretView configuretView,int? isCurrent);
///
/// 查询校历的当前学年学期的下一个学期
///
///
List GetSchoolYearViewListAfterCurrent();
///
/// 查询之前的学年学期信息
///
///
List GetSchoolYearViewListBeforeCurrent();
///
/// 查询前一个学年学期信息
///
///
SchoolYearView GetSchoolYearViewBeforeCurrent();
///
/// 获取学年学期信息
///
/// 主键ID
///
EMIS.Entities.CF_Schoolyear GetSchoolYear(Guid? schoolyearID);
EMIS.Entities.CF_Schoolyear GetSchoolYearByValue(int value);
///
/// 获取学年学期信息
///
/// 学年
/// 学期名称
///
EMIS.Entities.CF_Schoolyear GetSchoolYear(int Years, int SchoolcodeID);
///
/// 获取当前学年学期
///
///
///
EMIS.Entities.CF_Schoolyear GetSchoolYearIsCurrent(bool IsCurrent);
///
/// 获取学年学期信息
///
/// 主键ID
/// 是否当前学期
///
List GetSchoolYearList(Guid? schoolyearID, bool IsCurrent);
///
/// 获取学年学期信息
///
/// 主键ID
///
SchoolYearView GetSchoolYearView(Guid? schoolyearID);
///
/// 添加
///
/// 实体
///
bool SchoolYearAdd(SchoolYearView schoolyearView);
///
/// 修改
///
/// 实体
///
bool SchoolYearUpdate(SchoolYearView schoolyearView);
///
/// 删除
///
///
///
bool SchoolYearDelete(List schoolyearIDs);
///
/// 只获取学年
///
///
///
///
///
///
IGridResultSet GetYearsViewGrid(ConfiguretView configuretView, int? isCurrent, int pageIndex, int pageSize);
///
/// 获取当前学期学年
///
///
SchoolYearView GetCurrentSchoolYear();
///
/// 获取当前校历启用的下一个学年学期ID
///
///
SchoolYearView GetNextSchoolYear();
///
/// 更新当前学期学年
///
void UpdateCurrentSchoolYear();
void AutoCreateSchoolyearAndYearsSS();
void AutoCreateSchoolyearAndYears();
List GetCurrentSchoolyearWeekNumList();
///
///获取学年学期周次
///
List GetSchoolyearWeekNumList(Guid? SchoolYearID);
List GetFutureWeekdayList(int weekNum);
List GetFutureCourseTimeList(int weekNum, int weekday);
bool IsTimePassed(SchoolYearView currentSchoolyear, int? weekNum, int? weekday, int? startHour, int? startMinute);
///
/// 以指定的学期为参照,将时间转换成周次、星期和节次(仅保留能转换成功的记录)
///
///
///
///
List GetCoursesTimeByDateTime(Guid schoolyearID, IList datetimeList);
///
/// 以指定的学期为参照,将周次、星期和节次转换成时间(仅保留能转换成功的记录)
///
///
///
///
List GetCoursesTimeByDateTime(Guid schoolyearID, IList coursesTimeList);
List GetDateByCoursesTime(Guid schoolyearID, IList coursesTimeList);
StartEndTimeView GetStartEndTimeByCourseTime(DateTime firstWeek, FullCoursesTimeView coursesTime);
}
}