public Result <int> Update(AssetCate cate, IAppUser user) { try { var error = Validate(cate); if (!string.IsNullOrWhiteSpace(error)) { return(ResultUtil.Do(ResultCodes.验证失败, 0, error)); } if (cate.ParentId == cate.Id) { return(ResultUtil.Do(ResultCodes.验证失败, 0, "不能将自身设置为上级")); } var children = AssetCateUtil.GetSelfAndChildrenIds(cate.Id); if (children.Contains(cate.ParentId)) { return(ResultUtil.Do(ResultCodes.验证失败, 0, "不能将上级分类指定为其下属")); } cate.BeforeUpdate(user); var row = _db.Update(cate); if (row > 0) { AssetCateUtil.Clear(); return(ResultUtil.Success(cate.Id)); } return(ResultUtil.Do(ResultCodes.数据库操作失败, 0, "数据写入失败")); } catch (Exception ex) { return(ResultUtil.Exception(ex, 0)); } }
public MySearchUtil ToSearchUtil() { var util = MySearchUtil.New().AndEqual("IsDel", false); if (!string.IsNullOrWhiteSpace(Key)) { util.AndContains(new[] { "Name", "Code", "FinancialCode", "Band", "Imei", "Model", "Source", "Remark", "Position", "DeptName", "AccountName" }, Key.Trim()); } if (!string.IsNullOrWhiteSpace(Position)) { util.AndContains("Position", Position.Trim()); } if (!string.IsNullOrWhiteSpace(State)) { util.AndEqual("State", State.Trim()); } if (DeptId.HasValue) { if (!IsContainSubDept) { util.AndEqual("DeptId", (int)DeptId); } else { var depts = DeptUtil.GetSelfAndChildrenIds((int)DeptId); util.AndIn("DeptId", depts); } } if (CateId.HasValue && CateId > 0) { var cate = AssetCateUtil.Get((int)CateId); if (cate == null) { util.And("1=2"); } else { var ids = AssetCateUtil.GetSelfAndChildrenIds(cate.Id); util.AndIn("AssetCateId", ids); } } if (AccountId.HasValue && AccountId > 0) { util.AndEqual("AccountId", (int)AccountId); } if (!IncludeScrap) { util.AndNotEqual("State", "报废"); } if (!string.IsNullOrWhiteSpace(Healthy)) { util.AndEqual("Healthy", Healthy); } if (Sort.HasValue) { switch (Sort) { case 1: util.OrderBy("Code"); break; case 2: util.OrderBy("Name"); break; case 3: util.OrderBy("DeptName"); break; case 4: util.OrderBy("AccountName"); break; default: util.OrderByDesc("UpdateAt"); break; } } else { util.OrderByDesc("UpdateAt"); } return(util); }