/// <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)); } }
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.数据库操作失败)); }
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)); } }
/// <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()); } }
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()); }
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)); } }