Ejemplo n.º 1
0
        /// <summary>
        /// 移除数据
        /// </summary>
        /// <param name="id"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public Result Delete(int id, IAppUser user)
        {
            try
            {
                var entity = _db.Load <Account>(id);
                if (entity == null)
                {
                    return(ResultUtil.Do(ResultCodes.数据不存在, "请求的数据不存在"));
                }

                var assetCount = _db.GetCount <Asset>(MySearchUtil.New()
                                                      .AndEqual("AccountId", id)
                                                      .AndEqual("IsDel", false));
                if (assetCount > 0)
                {
                    return(ResultUtil.Do(ResultCodes.验证失败, "此用户下资产不为空,禁止删除"));
                }

                var row = _db.Remove <Account>(id);
                return(row > 0 ? ResultUtil.Success() : ResultUtil.Do(ResultCodes.数据库操作失败, "数据库写入失败"));
            }
            catch (Exception ex)
            {
                return(ResultUtil.Exception(ex));
            }
        }
Ejemplo n.º 2
0
        public Result Delete(int id)
        {
            var user = Load(id);

            if (user == null)
            {
                return(ResultUtil.Do(ResultCodes.验证失败, "请求的数据不存在"));
            }
            if (user.Name == "admin")
            {
                return(ResultUtil.Do(ResultCodes.验证失败, "admin用户禁止删除"));
            }

            var row = _db.Remove <User>(id);

            return(row > 0 ? ResultUtil.Success() : ResultUtil.Do(ResultCodes.数据库操作失败));
        }
Ejemplo n.º 3
0
        public Result Delete(int id, IAppUser user)
        {
            try
            {
                var entity = _db.Load <Dept>(id);
                if (entity == null)
                {
                    return(ResultUtil.Do(ResultCodes.数据不存在, "请求的数据不存在"));
                }

                var childrenCount = _db.GetCount <Dept>(MySearchUtil.New()
                                                        .AndEqual("ParentId", id)
                                                        .AndEqual("IsDel", false));
                if (childrenCount > 0)
                {
                    return(ResultUtil.Do(ResultCodes.验证失败, "下属部门不为空,禁止删除"));
                }

                var accountCount = _db.GetCount <Account>(MySearchUtil.New()
                                                          .AndEqual("DeptId", id)
                                                          .AndEqual("IsDel", false));
                if (accountCount > 0)
                {
                    return(ResultUtil.Do(ResultCodes.验证失败, "部门内员工不为空,禁止删除"));
                }

                var row = _db.Remove <Dept>(id);
                if (row > 0)
                {
                    DeptUtil.Clear();
                    return(ResultUtil.Success());
                }
                else
                {
                    return(ResultUtil.Do(ResultCodes.数据库操作失败, "数据库写入失败"));
                }
            }
            catch (Exception ex)
            {
                return(ResultUtil.Exception(ex));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 移除实体-逻辑删除
        /// </summary>
        /// <param name="entity">实体对象</param>
        /// <param name="user">操作人</param>
        /// <returns></returns>
        public virtual Result Remove(T entity, IAppUser user, Action Cb = null)
        {
            var error = ValidateDelete(entity, user);

            if (!string.IsNullOrWhiteSpace(error))
            {
                return(ResultUtil.AuthFail(error));
            }

            var row = db.Remove <T>(entity.Id, user);

            if (row > 0)
            {
                Cb?.Invoke();
                return(ResultUtil.Success());
            }
            else
            {
                return(ResultUtil.Fail());
            }
        }
Ejemplo n.º 5
0
        public virtual Result Remove(T entity, BaseAppUser user, Action <bool, T> action = null)
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user), "可跟踪实体必须提供操作人信息");
            }

            var error = BeforeRemove(entity, user);

            if (!string.IsNullOrWhiteSpace(error))
            {
                return(ResultUtil.AuthFail(error));
            }

            var row = Db.Remove(entity, user);

            action?.Invoke(row > 0, entity);
            return(row > 0 ? ResultUtil.Success() : ResultUtil.Fail());
        }
Ejemplo n.º 6
0
        public Result Delete(T t, IAppUser user)
        {
            try
            {
                if (t == null)
                {
                    return(ResultUtil.Do(ResultCodes.数据不存在, 0, "请求的数据不存在"));
                }

                var error = ValidDelete(t, user);
                if (!string.IsNullOrWhiteSpace(error))
                {
                    return(ResultUtil.Do(ResultCodes.验证失败, 0, error));
                }

                var row = db.Remove <T>(t.Id);
                return(row > 0 ? ResultUtil.Success() : ResultUtil.Do(ResultCodes.数据库操作失败, "数据库写入失败"));
            }
            catch (Exception ex)
            {
                return(ResultUtil.Exception(ex));
            }
        }