private List <string> CheckSubject(T_FB_SUBJECT entitySubject) { #region 处理 Subject List <string> errMsg = new List <string>(); var subjectTypeID = entitySubject.T_FB_SUBJECTTYPE.SUBJECTTYPEID; string code = entitySubject.SUBJECTCODE; if (string.IsNullOrEmpty(code)) { errMsg.Add("科目编号不能为空"); } string name = entitySubject.SUBJECTNAME; if (string.IsNullOrEmpty(name)) { errMsg.Add("科目类别不能为空"); } foreach (OrderEntity orderEntity in this.EntityList) { if (errMsg.Count > 0) { break; } var subjects = orderEntity.GetRelationFBEntities(typeof(T_FB_SUBJECT).Name); #region 科目名称 // 相同的科目名称在不同的科目类别中,是否可以保存 var canSameSubjectName = DataCore.GetSetting("CanSameSubjectName") == "1"; if (!canSameSubjectName) { var subjectFind = subjects.FirstOrDefault(fbEntity => { T_FB_SUBJECT entity = fbEntity.Entity as T_FB_SUBJECT; if (entity == null) { return(false); } bool isRightType = entity.GetType().Name == "T_FB_SUBJECT"; bool isNotItselft = !object.Equals(entity, entitySubject); bool isSameName = name == entity.SUBJECTNAME; return(isRightType && isNotItselft && isSameName); }); if (subjectFind != null) { errMsg.Add("科目名称已存在,不可重复"); } } #endregion #region 科目编号 var subjectFind2 = subjects.FirstOrDefault(fbEntity => { T_FB_SUBJECT entity = fbEntity.Entity as T_FB_SUBJECT; bool isRightType = entity.GetType().Name == "T_FB_SUBJECT"; bool isNotItselft = !object.Equals(entity, entitySubject); bool isSameCode = code == entity.SUBJECTCODE; return(isRightType && isNotItselft && isSameCode); }); if (subjectFind2 != null) { errMsg.Add("科目编号已存在,不可重复"); } #endregion } #endregion return(errMsg); }