public ApiReturns Put(int id, Department department)
        {
            var model = _repos.QuerySingle(d => d.Id == id);

            if (model == null)
            {
                return(ApiReturns.NotFound());
            }

            // 验证是否重名
            if (_repos.Exists(d => d.Name == department.Name && d.Id != id))
            {
                return(ApiReturns.Exists());
            }

            model.Name = department.Name;

            var success = _repos.Update(model);

            if (success)
            {
                return(ApiReturns.Created(model));
            }

            return(ApiReturns.BadRequest());
        }
        public ApiReturns Rename(int id, string newName)
        {
            var dir = _dirBll.QuerySingle(id);

            if (dir == null)
            {
                return(ApiReturns.BadRequest());
            }
            if (string.IsNullOrEmpty(newName) || dir.DirName == newName)
            {
                return(ApiReturns.BadRequest());
            }

            dir.DirName        = newName;
            dir.LastModifyTime = DateTime.Now;
            // 检查是否重名
            if (DirNameExists(dir))
            {
                return(ApiReturns.Exists());
            }

            // 更新
            var success = UpdateDir(dir, Operation.Update);

            if (success)
            {
                return(ApiReturns.Created());
            }

            return(ApiReturns.BadRequest());
        }
        public ApiReturns Post(Department department)
        {
            if (_repos.Exists(d => d.Name == department.Name))
            {
                return(ApiReturns.Exists());
            }

            var success = _repos.Add(department);

            if (success)
            {
                return(ApiReturns.Created(department));
            }

            return(ApiReturns.BadRequest());
        }
        public ApiReturns Post(FileDirectory model)
        {
            // 只有超级管理员才能添加顶级目录
            if (model.ParentId == 0 && !LoginStatus.IsSuperAdminLogin())
            {
                return(ApiReturns.Forbidden());
            }

            if (DirNameExists(model))
            {
                return(ApiReturns.Exists());
            }

            model.CreateTime     = DateTime.Now;
            model.LastModifyTime = DateTime.Now;
            model.CreatorId      = LoginStatus.GetLoginUser().Id;

            // 插入数据库
            var success = _dirBll.ExecuteTranscation(() =>
            {
                var s = _dirBll.Add(model).Id > 0;
                if (s)
                {
                    var d = new DbUpdateLog(nameof(FileDirectory), model.Id, (int)Operation.Insert);
                    return(_logBll.Add(d).Id > 0);
                }
                return(false);
            });

            if (success)
            {
                return(ApiReturns.Created(model));
            }

            return(ApiReturns.BadRequest());
        }