示例#1
0
        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));
            }
        }
示例#2
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));
        }
示例#3
0
        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)));
            }
        }
示例#4
0
        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));
            }
        }
示例#5
0
 public Result <int> Save(AssetCate cate, IAppUser user)
 {
     return(cate.Id <= 0 ? Create(cate, user) : Update(cate, user));
 }
示例#6
0
 private string Validate(AssetCate cate)
 {
     return(string.IsNullOrWhiteSpace(cate.Name) ? "类别名称不能为空" : string.Empty);
 }