示例#1
0
        public async Task Handle(DeleteProductSpecRelatedStaticMeshEvent notification, CancellationToken cancellationToken)
        {
            if (string.IsNullOrWhiteSpace(notification.StaticMeshIds))
            {
                return;
            }

            var idArr = notification.StaticMeshIds.Split(",", StringSplitOptions.RemoveEmptyEntries);

            foreach (var id in idArr)
            {
                var data = await staticMeshRepository.FindAsync(id);

                await staticMeshRepository.DeleteAsync(data, string.Empty);
            }
        }
示例#2
0
        public async Task <ObjectResult> Handle(StaticMeshBatchDeleteCommand request, CancellationToken cancellationToken)
        {
            var canOperate = await clientAssetPermissionControlService.CanEditClientAsset();

            if (!canOperate)
            {
                throw new HttpForbiddenException();
            }

            var result          = new MultiStatusObjectResult();
            var operatorId      = identityService.GetUserId();
            var resourcePartUri = uriService.GetUriWithoutQuery().URIUpperLevel();
            var idArr           = request.Ids.Split(",", StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0, len = idArr.Count(); i < len; i++)
            {
                var id  = idArr[i];
                var uri = $"{resourcePartUri}/{id}";

                var data = await staticMeshRepository.FindAsync(id);

                if (data == null)
                {
                    result.AddResult(uri, 404, "");
                    continue;
                }

                //var query = await userManagedAccountService.GetManagedAccounts(operatorId);
                //var canOperat = await query.AnyAsync(x => x.Id == accountId);
                //if (!canOperat)
                //{
                //    result.AddResult(uri, 403, localizer["OperateForbidden"]);
                //    continue;
                //}


                await staticMeshRepository.DeleteAsync(data, operatorId);

                result.AddResult(uri, 200, "");
            }

            return(result.Transfer());
        }