예제 #1
0
파일: ModuleBiz.cs 프로젝트: khhily/Lean
        public BaseModule Add(BaseModule entity)
        {
            using (var db = new Entities())
            {
                if (!CheckModule(entity, db))
                {
                    entity.CreateDate = DateTime.Now;
                    entity.CreateUserID = CurrentUserBiz.CurrentUser == null ? 0 : CurrentUserBiz.CurrentUser.ID;
                    entity.ModifyDate = DateTime.Now;
                    entity.ModifyUserID = CurrentUserBiz.CurrentUser == null ? 0 : CurrentUserBiz.CurrentUser.ID;

                    db.BaseModule.Add(entity);

                    Errors = db.GetErrors();

                    if (!HasError)
                    {
                        try
                        {
                            db.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            ParseErrors(e);
                        }
                    }
                }

                return entity;
            }
        }
예제 #2
0
파일: ModuleBiz.cs 프로젝트: khhily/Lean
        public BaseModule Edit(BaseModule entity)
        {
            using (var db = new Entities())
            {
                if (!CheckModule(entity, db))
                {
                    entity.ModifyDate = DateTime.Now;
                    entity.ModifyUserID = CurrentUserBiz.CurrentUser == null ? 0 : CurrentUserBiz.CurrentUser.ID;

                    var oldEntity = db.BaseModule.FirstOrDefault(q => q.ID == entity.ID && q.Valid);
                    
                    if (oldEntity != null)
                    {
                        entity.CopyToExcept(oldEntity, q => q.ID, q => q.CreateDate, q => q.CreateUserID);

                        if (!HasError)
                        {
                            db.SaveChanges();
                        }
                    }
                }

                return entity;
            }
        }
예제 #3
0
파일: ModuleBiz.cs 프로젝트: khhily/Lean
        /// <summary>
        /// 检查模块的数据有效性
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        private bool CheckModule(BaseModule entity, Entities db)
        {
            if (db.BaseModule.Any(q => q.ModuleName.Equals(entity.ModuleName, StringComparison.OrdinalIgnoreCase) && q.Valid && q.ID != entity.ID && q.ParentID == entity.ParentID))
            {
                Errors.Set("repeat", String.Format("模块名称{0}已经存在!", entity.ModuleName));
                return true;
            }

            if (db.BaseModule.Any(q => q.ModuleCode.Equals(entity.ModuleCode, StringComparison.OrdinalIgnoreCase) && q.Valid && q.ID != entity.ID && q.ParentID == entity.ParentID))
            {
                Errors.Set("repeat", String.Format("模块代码{0}已经存在!", entity.ModuleCode));
                return true;
            }

            if (entity.ParentID != 0 && !db.BaseModule.Any(q => q.ID == entity.ParentID && q.Valid))
            {
                Errors.Set("not exists", String.Format("父模块不存在!"));
                return true;
            }
            
            return false;
        }