示例#1
0
        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);
        }