using System; using System.Collections.Generic; using System.Linq; using System.Text; using EMIS.DataLogic.PaymentManage; using Bowin.Common.Linq.Entity; using EMIS.ViewModel.PaymentManage; using EMIS.ViewModel; using System.Linq.Expressions; using EMIS.Entities; namespace EMIS.CommonLogic.PaymentManage { public class StudentCountRateServices : BaseServices, IStudentCountRateServices { public StudentCountRateDAL StudentCountRateDAL { get; set; } public IGridResultSet GetStudentCountRateViewList(ConfiguretView studentCountRateConditionView, int pageIndex, int pageSize) { Expression> exp = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE && x.Title != null); var query = StudentCountRateDAL.GetStudentCountRateViewQueryable(exp); if (!string.IsNullOrEmpty(studentCountRateConditionView.ConditionValue) && !string.IsNullOrEmpty(studentCountRateConditionView.Attribute)) query = query.DynamicWhere(studentCountRateConditionView.Attribute, studentCountRateConditionView.Condition, studentCountRateConditionView.ConditionValue); query = query.OrderBy(x => x.TitleID); return query.ToGridResultSet(pageIndex, pageSize); } public List GetStudentCountRateViewList() { Expression> exp = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE); var query = StudentCountRateDAL.GetStudentCountRateViewQueryable(exp); query = query.OrderBy(x => x.TitleID); return query.ToList(); } public StudentCountRateView GetCommonStudentCountRateView() { Expression> exp = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE && x.Title == null); var query = StudentCountRateDAL.GetStudentCountRateViewQueryable(exp); return query.FirstOrDefault(); } /// /// 获取考试时间信息 /// /// 考试时间ID /// public StudentCountRateView GetStudentCountRateView(Guid? studentCountRateID) { var query = StudentCountRateDAL.GetStudentCountRateViewQueryable(x => x.StudentCountRateID == studentCountRateID); return query.FirstOrDefault(); } /// /// 保存 /// /// 实体 /// public void Save(StudentCountRateView studentCountRateView) { TP_StudentCountRate studentCountRate = new TP_StudentCountRate(); if (studentCountRateView.StudentCountRateID == null || studentCountRateView.StudentCountRateID == Guid.Empty) { studentCountRate = StudentCountRateDAL.StudentCountRateRepository.GetSingle(x => x.Title == studentCountRateView.TitleID); if (studentCountRate != null) { throw new Exception("已有相同职称的人数系数设置,请勿重复设置。"); } studentCountRate = new TP_StudentCountRate(); studentCountRate.StudentCountRateID = Guid.NewGuid(); SetNewStatus(studentCountRate); UnitOfWork.Add(studentCountRate); } else { studentCountRate = StudentCountRateDAL.StudentCountRateRepository.GetSingle(x => x.StudentCountRateID != studentCountRateView.StudentCountRateID && x.Title == studentCountRateView.TitleID); if (studentCountRate != null) { throw new Exception("已有相同职称的人数系数设置,请勿重复设置。"); } studentCountRate = StudentCountRateDAL.StudentCountRateRepository.GetSingle(x => x.StudentCountRateID == studentCountRateView.StudentCountRateID); if (studentCountRate == null) { throw new Exception("未能找到需要修改的数据,数据可能已被其他用户更改。"); } SetModifyStatus(studentCountRate); } studentCountRate.Title = studentCountRateView.TitleID; studentCountRate.BaseStudentCount = studentCountRateView.BaseStudentCount; studentCountRate.Limit = studentCountRateView.Limit; UnitOfWork.Commit(); } public void Delete(IList studentCountRateIDList) { if (studentCountRateIDList.Count > 0) { UnitOfWork.Delete(x => studentCountRateIDList.Contains(x.StudentCountRateID)); } } } }