using System; using System.Collections.Generic; using System.Linq; using System.Text; using EMIS.Entities; using System.Linq.Expressions; using Bowin.Common.Linq.Entity; using Bowin.Common.Linq; using EMIS.DataLogic.SchedulingManage.SchedulingSettings; using EMIS.ViewModel.SchedulingManage.SchedulingSettings; using EMIS.ViewModel.CalendarManage; using EMIS.CommonLogic.CalendarManage; namespace EMIS.CommonLogic.SchedulingManage.SchedulingSettings { public class ClassmajorScheduleSettingServices : BaseServices, IClassmajorScheduleSettingServices { public ClassmajorScheduleSettingDAL classmajorScheduleSettingDAL { get; set; } public IArrangementServices arrangementServices { get; set; } /// /// 查询 /// /// 班级ID /// 年级专业ID /// 院系所ID /// /// /// public Bowin.Common.Linq.Entity.IGridResultSet GetClassmajorScheduleSettingViewGrid(Guid? classmajorID, int? StandardID, Guid? collegeID, int? gradeYearID, int pageIndex, int pageSize) { Expression> exp = (x => true); if (classmajorID.HasValue) exp = exp.And(x => x.ClassmajorID == classmajorID); if (gradeYearID.HasValue) exp = exp.And(x => x.CF_Grademajor.GradeID == gradeYearID); if (StandardID.HasValue) exp = exp.And(x => x.CF_Grademajor.CF_Facultymajor.StandardID == StandardID); if (collegeID.HasValue) exp = exp.And(x => x.CF_Grademajor.CF_Facultymajor.CollegeID == collegeID); var query = classmajorScheduleSettingDAL.GetClassmajorScheduleSettingViewQueryable(exp); return query.OrderByDescending(x => x.CreateTime).ToGridResultSet(pageIndex, pageSize); } /// /// 查询 /// /// /// public Bowin.Common.Linq.Entity.IGridResultSet GetArrangementViewGrid(Guid? classmajorID) { var resultSet = classmajorScheduleSettingDAL.GetArrangementViewQueryable(classmajorID).OrderBy(x => x.StartTimes).ToGridResultSet(); if (resultSet.total > 0) { return resultSet; } return arrangementServices.GetArrangementViewGrid(); } /// /// 新增 /// /// /// public void ClassmajorScheduleSettingAdd(List listArrangement, Guid? classmajorID) { try { UnitOfWork.Delete(x => x.ClassmajorID == classmajorID); foreach (var arrangementView in listArrangement) { bool? IsOnWork = false; for (int i = 0; i < 7; i++) { if (i == (int)DayOfWeek.Monday) IsOnWork = arrangementView.MondayIsOnWork; if (i == (int)DayOfWeek.Tuesday) IsOnWork = arrangementView.TuesdayIsOnWork; if (i == (int)DayOfWeek.Wednesday) IsOnWork = arrangementView.WednesdayIsOnWork; if (i == (int)DayOfWeek.Thursday) IsOnWork = arrangementView.ThursdayIsOnWork; if (i == (int)DayOfWeek.Friday) IsOnWork = arrangementView.FridayIsOnWork; if (i == (int)DayOfWeek.Saturday) IsOnWork = arrangementView.SaturdayIsOnWork; if (i == (int)DayOfWeek.Sunday) IsOnWork = arrangementView.SundayIsOnWork; ES_ClassmajorScheduleSetting classmajorScheduleSetting = new ES_ClassmajorScheduleSetting(); classmajorScheduleSetting.ClassmajorScheduleSettingID = Guid.NewGuid(); classmajorScheduleSetting.ClassmajorID = classmajorID; classmajorScheduleSetting.CoursesTimeID = arrangementView.CoursesTimeID; classmajorScheduleSetting.Weekday = i; classmajorScheduleSetting.IsOnWork = IsOnWork; SetNewStatus(classmajorScheduleSetting); UnitOfWork.Add(classmajorScheduleSetting); } } UnitOfWork.Commit(); } catch (Exception) { throw; } } /// /// 删除 /// /// public void ClassmajorScheduleSettingDelete(List classmajorIDs) { try { UnitOfWork.Delete(x => classmajorIDs.Contains(x.ClassmajorID)); } catch (Exception) { throw; } } } }