Ejemplo n.º 1
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public PublicResult DeletePermission(DeletePermissionDto dto)
        {
            Permission permission = null;

            using (var client = DbFactory.CreateClient())
            {
                permission = client.Queryable <Permission>().InSingle(dto.Id);
                if (permission == null)
                {
                    return(Error("找不到该条信息"));
                }
                if (permission.IsSystem)
                {
                    return(Error("内置信息不能删除"));
                }

                client.UseTran(tran =>
                {
                    tran.Ado.ExecuteCommand(@"DELETE FROM tab_permission WHERE path LIKE @path", new { path = $"{permission.Path}.%" });
                    tran.Deleteable <Permission>(dto.Id).ExecuteCommand();
                });
            }

            _distributedCache.Remove(CACHE_ROLE_PERMISSION_ALL_KEY);
            _distributedCache.Remove(CACHE_PERMISSION_ALL_KEY);
            _eventPublisher.EntityDeleted(permission);

            return(Ok());
        }
Ejemplo n.º 2
0
 public void Delete(string id, string commandId, string version, string requesterId = default(string))
 {
     try {
         var value = new DeletePermissionDto();
         value.CommandId   = commandId;
         value.RequesterId = requesterId;
         value.Version     = (long)Convert.ChangeType(version, typeof(long));
         PermissionsControllerUtils.SetNullIdOrThrowOnInconsistentIds(id, value);
         _permissionApplicationService.When(value as IDeletePermission);
     } catch (Exception ex) { var response = PermissionsControllerUtils.GetErrorHttpResponseMessage(ex); throw new HttpResponseException(response); }
 }
        public async Task WhenAsync(DeletePermissionDto c)
        {
            var idObj         = (c as IDeletePermission).PermissionId;
            var uriParameters = new PermissionUriParameters();

            uriParameters.Id = idObj;

            var q = new PermissionDeleteQuery();

            q.CommandId   = c.CommandId;
            q.RequesterId = c.RequesterId;
            q.Version     = Convert.ToString(c.Version);

            var req = new PermissionDeleteRequest(uriParameters);

            req.Query = q;

            var resp = await _ramlClient.Permission.Delete(req);

            PermissionProxyUtils.ThrowOnHttpResponseError(resp);
        }
 public void When(DeletePermissionDto c)
 {
     WhenAsync(c).GetAwaiter().GetResult();
 }
Ejemplo n.º 5
0
        public IActionResult Delete(DeletePermissionDto dto)
        {
            var result = _permissionService.DeletePermission(dto);

            return(Json(result));
        }