using System; using System.Collections.Generic; using System.Linq; using System.Text; using EMIS.ViewModel; using Bowin.Common.Linq.Entity; using EMIS.ViewModel.MinorManage.MinorSetting; using System.Linq.Expressions; using EMIS.Entities; using Bowin.Common.Linq; using EMIS.DataLogic.MinorManage.MinorSetting; namespace EMIS.CommonLogic.MinorManage.MinorSetting { public class MinorStandardSettingServices : BaseServices, IMinorStandardSettingServices { public MinorStandardSettingDAL minorStandardSettingDAL { get; set; } /// /// 查询辅修专业设置列表 /// /// /// /// /// /// /// public IGridResultSet GetMinorControlViewGrid(ConfiguretView configuretView, int? minorStandardID, int? standardID, int pageIndex, int pageSize) { Expression> exp = x => true; if (minorStandardID.HasValue) { exp = exp.And(x => x.MinorStandardID == minorStandardID); } if (standardID.HasValue) { exp = exp.And(x => x.StandardID == standardID); } var query = minorStandardSettingDAL.GetMinorStandardSettingViewQueryable(exp); if (!string.IsNullOrEmpty(configuretView.ConditionValue) && !string.IsNullOrEmpty(configuretView.Attribute)) { query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue); } query = query.OrderByDescending(x => x.StandardID).ThenByDescending(x => x.MinorStandardID); return query.ToGridResultSet(pageIndex, pageSize); } /// /// 查询辅修专业设置列表(Excel) /// /// /// /// /// /// public List GetMinorControlViewList(ConfiguretView configuretView, int? minorStandardID, int? standardID, List idList) { Expression> exp = x => true; if (minorStandardID.HasValue) { exp = exp.And(x => x.MinorStandardID == minorStandardID); } if (standardID.HasValue) { exp = exp.And(x => x.StandardID == standardID); } if (idList.Count > 0 && idList != null) { exp = exp.And(x => idList.Contains(x.MinorStandardSettingID)); } var query = minorStandardSettingDAL.GetMinorStandardSettingViewQueryable(exp); if (!string.IsNullOrEmpty(configuretView.ConditionValue) && !string.IsNullOrEmpty(configuretView.Attribute)) { query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue); } query = query.OrderByDescending(x => x.StandardID).ThenByDescending(x => x.MinorStandardID); return query.ToList(); } /// /// 查询对应的辅修专业设置 /// /// /// public MinorStandardSettingView GetMinorStandardSettingView(Guid? minorStandardSettingID) { var query = minorStandardSettingDAL.GetMinorStandardSettingViewQueryable(x => x.MinorStandardSettingID == minorStandardSettingID); return query.FirstOrDefault(); } /// /// 辅修专业设置编辑(新增、修改) /// /// public void MinorStandardSettingEdit(MinorStandardSettingView minorStandardSettingView) { try { CF_MinorStandardSetting minorStandardSetting = new CF_MinorStandardSetting(); if (minorStandardSettingView.MinorStandardSettingID == null || minorStandardSettingView.MinorStandardSettingID == Guid.Empty) { //新增、复制新增 minorStandardSetting = minorStandardSettingDAL.minorStandardSettingRepository .GetSingle(x => x.StandardID == minorStandardSettingView.StandardID && x.MinorStandardID == minorStandardSettingView.MinorStandardID); if (minorStandardSetting != null) { throw new Exception("已存在相同的辅修专业设置信息。"); } minorStandardSetting = new CF_MinorStandardSetting(); minorStandardSetting.MinorStandardSettingID = Guid.NewGuid(); minorStandardSetting.StandardID = minorStandardSettingView.StandardID; minorStandardSetting.MinorStandardID = minorStandardSettingView.MinorStandardID; SetNewStatus(minorStandardSetting); UnitOfWork.Add(minorStandardSetting); } else { //修改 minorStandardSetting = minorStandardSettingDAL.minorStandardSettingRepository .GetSingle(x => x.MinorStandardSettingID != minorStandardSettingView.MinorStandardSettingID && x.StandardID == minorStandardSettingView.StandardID && x.MinorStandardID == minorStandardSettingView.MinorStandardID); if (minorStandardSetting != null) { throw new Exception("已存在相同的辅修专业设置信息。"); } minorStandardSetting = minorStandardSettingDAL.minorStandardSettingRepository .GetSingle(x => x.MinorStandardSettingID == minorStandardSettingView.MinorStandardSettingID); if (minorStandardSetting == null) { throw new Exception("数据有误,请核查。"); } //minorStandardSetting.MinorStandardSettingID = minorStandardSettingView.MinorStandardSettingID minorStandardSetting.StandardID = minorStandardSettingView.StandardID; minorStandardSetting.MinorStandardID = minorStandardSettingView.MinorStandardID; SetModifyStatus(minorStandardSetting); } UnitOfWork.Commit(); } catch (Exception ex) { throw new Exception(ex.Message); } } /// /// 辅修专业设置删除 /// /// public void MinorStandardSettingDelete(IList minorStandardSettingIDList) { try { if (minorStandardSettingIDList.Count > 0) { UnitOfWork.Delete(x => minorStandardSettingIDList.Contains(x.MinorStandardSettingID)); } } catch (Exception ex) { throw new Exception(ex.Message); } } /// /// 查找标准专业(排除已选专业) /// /// /// /// /// public IGridResultSet GetStandardNotSelectID(int? standardID, int pageIndex, int pageSize) { Expression> exp = x => true; exp = exp.And(x => x.DictionaryCode == "CF_Standard"); if(standardID.HasValue) { exp = exp.And(x => x.Value != standardID); } var query = minorStandardSettingDAL.GetStandardNotHaveSelect(exp); return query.ToGridResultSet(pageIndex, pageSize); } } }