//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using Bowin.Common.Linq;
//using Bowin.Common.Linq.Entity;
//using EMIS.ViewModel.SelectCourse;
//using EMIS.ViewModel;
//using System.Linq.Expressions;
//using EMIS.Entities;
//using EMIS.DataLogic.SelectCourse;
//namespace EMIS.CommonLogic.SelectCourse
//{
// public class ExaminationSubjectCollegeControlServices : BaseServices, IExaminationSubjectCollegeControlServices
// {
// public ExaminationSubjectCollegeControlDAL examinationSubjectCollegeControlDAL { get; set; }
// ///
// /// 列表查询
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// public IGridResultSet GetExaminationSubjectCollegeControlViewGrid(ConfiguretView configuretView, Guid? examinationTypeID, Guid? examinationSubjectID, Guid? collegeID, Guid? facultymajorID, int? schoolyearNumID, int pageIndex, int pageSize)
// {
// Expression> esccexp = x => true;
// Expression> esexp= x => true;
// Expression> fexp = x => true;
// if (examinationTypeID.HasValue)
// {
// esexp = esexp.And(x => x.ExaminationTypeID == examinationTypeID);
// }
// if (examinationSubjectID.HasValue)
// {
// esccexp = esccexp.And(x => x.ExaminationSubjectID == examinationSubjectID);
// }
// if (collegeID.HasValue)
// {
// fexp = fexp.And(x => x.CollegeID == collegeID);
// }
// if (facultymajorID.HasValue)
// {
// esccexp = esccexp.And(x => x.FacultymajorID == facultymajorID);
// }
// if (schoolyearNumID.HasValue)
// {
// esccexp = esccexp.And(x => x.SchoolyearNumID == schoolyearNumID);
// }
// var query = examinationSubjectCollegeControlDAL.GetExaminationSubjectCollegeControlView(esccexp, esexp, fexp);
// if (!string.IsNullOrEmpty(configuretView.ConditionValue) && !string.IsNullOrEmpty(configuretView.Attribute))
// query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue);
// var result = GetQueryByDataRangeByCollege(query);
// return result.OrderBy(x => x.ExaminationSubjectName.Length).ThenBy(x => x.ExaminationSubjectName).ThenBy(x => x.CollegeName.Length).ThenBy(x => x.CollegeName).ThenBy(x => x.SchoolyearNumID).ToGridResultSet(pageIndex, pageSize);
// }
// ///
// /// excel导出
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// ///
// public List GetExaminationSubjectCollegeControlViewList(ConfiguretView configuretView, Guid? examinationTypeID, Guid? examinationSubjectID, Guid? collegeID, Guid? facultymajorID, int? schoolyearNumID, List idList)
// {
// Expression> esccexp = x => true;
// Expression> esexp = x => true;
// Expression> fexp = x => true;
// if (examinationTypeID.HasValue)
// {
// esexp = esexp.And(x => x.ExaminationTypeID == examinationTypeID);
// }
// if (examinationSubjectID.HasValue)
// {
// esccexp = esccexp.And(x => x.ExaminationSubjectID == examinationSubjectID);
// }
// if (collegeID.HasValue)
// {
// fexp = fexp.And(x => x.CollegeID == collegeID);
// }
// if (facultymajorID.HasValue)
// {
// esccexp = esccexp.And(x => x.FacultymajorID == facultymajorID);
// }
// if (schoolyearNumID.HasValue)
// {
// esccexp = esccexp.And(x => x.SchoolyearNumID == schoolyearNumID);
// }
// if (idList.Count > 0)
// {
// esccexp = esccexp.And(x => idList.Contains(x.ExaminationSubjectCollegeControlID));
// }
// var query = examinationSubjectCollegeControlDAL.GetExaminationSubjectCollegeControlView(esccexp, esexp, fexp);
// if (!string.IsNullOrEmpty(configuretView.ConditionValue) && !string.IsNullOrEmpty(configuretView.Attribute))
// query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue);
// var result = GetQueryByDataRangeByCollege(query);
// return result.OrderBy(x => x.ExaminationSubjectName.Length).ThenBy(x => x.ExaminationSubjectName).ThenBy(x => x.CollegeName.Length).ThenBy(x => x.CollegeName).ThenBy(x => x.SchoolyearNumID).ToList();
// }
// public ExaminationSubjectCollegeControlView GetExaminationSubjectCollegeControlView(Guid? examinationSubjectCollegeControlID)
// {
// Expression> esccexp = x => x.ExaminationSubjectCollegeControlID == examinationSubjectCollegeControlID;
// var query = examinationSubjectCollegeControlDAL.GetExaminationSubjectCollegeControlView(esccexp, x => true, x => true).FirstOrDefault();
// return query;
// }
// ///
// /// 新增
// ///
// ///
// ///
// public void ExaminationSubjectCollegeControlAdd(ExaminationSubjectCollegeControlView examinationSubjectCollegeControlView, List facultymajorIDList)
// {
// try
// {
// if (facultymajorIDList.Count > 0)
// {
// List examinationSubjectCollegeControlList = new List();
// foreach (Guid facultymajorID in facultymajorIDList)
// {
// EX_ExaminationSubjectCollegeControl examinationSubjectCollegeControl = new EX_ExaminationSubjectCollegeControl();
// //新增
// examinationSubjectCollegeControl = examinationSubjectCollegeControlDAL.examinationSubjectCollegeControlRepository
// .GetSingle(x => x.ExaminationSubjectID == examinationSubjectCollegeControlView.ExaminationSubjectID && x.FacultymajorID == examinationSubjectCollegeControlView.FacultymajorID
// && x.SchoolyearNumID == examinationSubjectCollegeControlView.SchoolyearNumID);
// if (examinationSubjectCollegeControl != null)
// {
// throw new Exception("已存在相同的专业报考限制信息。");
// }
// examinationSubjectCollegeControl = new EX_ExaminationSubjectCollegeControl();
// examinationSubjectCollegeControl.ExaminationSubjectCollegeControlID = Guid.NewGuid();
// examinationSubjectCollegeControl.ExaminationSubjectID = examinationSubjectCollegeControlView.ExaminationSubjectID;
// examinationSubjectCollegeControl.FacultymajorID = facultymajorID;
// examinationSubjectCollegeControl.SchoolyearNumID = examinationSubjectCollegeControlView.SchoolyearNumID == -1 ? null : examinationSubjectCollegeControlView.SchoolyearNumID;
// SetNewStatus(examinationSubjectCollegeControl);
// examinationSubjectCollegeControlList.Add(examinationSubjectCollegeControl);
// }
// UnitOfWork.BulkInsert(examinationSubjectCollegeControlList);
// }
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
// }
// ///
// /// 修改
// ///
// ///
// public void ExaminationSubjectCollegeControlEdit(ExaminationSubjectCollegeControlView examinationSubjectCollegeControlView)
// {
// try
// {
// EX_ExaminationSubjectCollegeControl examinationSubjectCollegeControl = new EX_ExaminationSubjectCollegeControl();
// //修改
// examinationSubjectCollegeControl = examinationSubjectCollegeControlDAL.examinationSubjectCollegeControlRepository
// .GetSingle(x => x.ExaminationSubjectCollegeControlID != examinationSubjectCollegeControlView.ExaminationSubjectCollegeControlID
// && x.ExaminationSubjectID == examinationSubjectCollegeControlView.ExaminationSubjectID && x.FacultymajorID == examinationSubjectCollegeControlView.FacultymajorID
// && x.SchoolyearNumID == examinationSubjectCollegeControlView.SchoolyearNumID);
// if (examinationSubjectCollegeControl != null)
// {
// throw new Exception("已存在相同的专业报考限制信息。");
// }
// examinationSubjectCollegeControl = examinationSubjectCollegeControlDAL.examinationSubjectCollegeControlRepository
// .GetSingle(x => x.ExaminationSubjectCollegeControlID == examinationSubjectCollegeControlView.ExaminationSubjectCollegeControlID);
// if (examinationSubjectCollegeControl == null)
// {
// throw new Exception("数据有误,请核查。");
// }
// examinationSubjectCollegeControl.ExaminationSubjectID = examinationSubjectCollegeControlView.ExaminationSubjectID;
// examinationSubjectCollegeControl.FacultymajorID = examinationSubjectCollegeControlView.FacultymajorID;
// examinationSubjectCollegeControl.SchoolyearNumID = examinationSubjectCollegeControlView.SchoolyearNumID == -1 ? null : examinationSubjectCollegeControlView.SchoolyearNumID;
// SetModifyStatus(examinationSubjectCollegeControl);
// UnitOfWork.Commit();
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
// }
// ///
// /// 删除
// ///
// ///
// public void ExaminationSubjectCollegeControlDelete(IList examinationSubjectCollegeControlIDList)
// {
// try
// {
// if (examinationSubjectCollegeControlIDList.Count > 0)
// {
// UnitOfWork.Delete(x => examinationSubjectCollegeControlIDList.Contains(x.ExaminationSubjectCollegeControlID));
// }
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
// }
// }
//}