Exemplo n.º 1
0
        public object PostPermission([FromBody] IEnumerable <Permission> permissions)
        {
            if (permissions == null || !permissions.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (permissions.Any(x => x.Name.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.PermissionNotEmpty));
            }
            if (permissions.GroupBy(x => x.Name).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.PermissionDuplicate));
            }

            var sames = permissions.Select(x => x.Name);

            if (PermissionHelper.GetHaveSame(sames))
            {
                return(Result.GenError <Result>(Error.PermissionIsExist));
            }

            var userId         = Request.GetIdentityInformation();
            var markedDateTime = DateTime.Now;

            foreach (var permission in permissions)
            {
                permission.CreateUserId   = userId;
                permission.MarkedDateTime = markedDateTime;
                permission.Name           = permission.Name ?? "";
            }
            PermissionHelper.Instance.Add(permissions);
            RedisHelper.PublishToTable(PermissionHelper.TableName);
            return(Result.GenError <Result>(Error.Success));
        }
Exemplo n.º 2
0
        public object PutPermission([FromBody] IEnumerable <Permission> permissions)
        {
            if (permissions == null || !permissions.Any())
            {
                return(Result.GenError <Result>(Error.ParamError));
            }
            if (permissions.Any(x => x.Name.IsNullOrEmpty()))
            {
                return(Result.GenError <Result>(Error.PermissionNotEmpty));
            }
            if (permissions.GroupBy(x => x.Name).Any(y => y.Count() > 1))
            {
                return(Result.GenError <Result>(Error.PermissionDuplicate));
            }

            var sames = permissions.Select(x => x.Name).Distinct();
            var ids   = permissions.Select(x => x.Id).Distinct();

            if (PermissionHelper.GetHaveSame(sames, ids))
            {
                return(Result.GenError <Result>(Error.PermissionIsExist));
            }

            var cnt = PermissionHelper.Instance.GetCountByIds(ids);

            if (cnt != permissions.Count())
            {
                return(Result.GenError <Result>(Error.PermissionNotExist));
            }

            var markedDateTime = DateTime.Now;

            foreach (var permission in permissions)
            {
                permission.MarkedDateTime = markedDateTime;
                permission.Name           = permission.Name ?? "";
            }
            PermissionHelper.Instance.Update(permissions);
            RedisHelper.PublishToTable(PermissionHelper.TableName);
            return(Result.GenError <Result>(Error.Success));
        }