public Result <int> Create(AssetCate cate, IAppUser user) { try { var error = Validate(cate); if (!string.IsNullOrWhiteSpace(error)) { return(ResultUtil.Do(ResultCodes.验证失败, 0, error)); } cate.BeforeCreate(user); var id = _db.Create(cate); if (id > 0) { AssetCateUtil.Clear(); return(ResultUtil.Success(id)); } return(ResultUtil.Do(ResultCodes.数据库操作失败, 0, "数据写入失败")); } catch (Exception ex) { return(ResultUtil.Exception(ex, 0)); } }
public ActionResult Edit(int?id, int?p) { AssetCate entity; if (!id.HasValue) { entity = new AssetCate { Sort = 99 }; if (p.HasValue) { entity.ParentId = (int)p; var children = AssetCateUtil.All().Where(d => d.ParentId == p).ToList(); entity.Sort = !children.Any() ? 1 : children.Max(c => c.Sort) + 1; } } else { entity = _service.Load((int)id); if (entity == null) { return(new EmptyResult()); } } InitUi(); return(View(entity)); }
public ActionResult Edit(int id, IFormCollection collection) { var entity = new AssetCate(); try { TryUpdateModelAsync(entity); var result = _service.Save(entity, AppUser); return(Json(result)); } catch (Exception ex) { return(Json(ResultUtil.Exception(ex))); } }
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 Result <int> Save(AssetCate cate, IAppUser user) { return(cate.Id <= 0 ? Create(cate, user) : Update(cate, user)); }
private string Validate(AssetCate cate) { return(string.IsNullOrWhiteSpace(cate.Name) ? "类别名称不能为空" : string.Empty); }