Exemplo n.º 1
0
        public async Task <ActionResult> PostAddResourceSet(string id, [FromBody] PostAddResourceSet postAddResourceSet)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                throw new ArgumentNullException(nameof(id));
            }

            if (postAddResourceSet == null)
            {
                throw new ArgumentNullException(nameof(postAddResourceSet));
            }

            var isPolicyExists = await _policyActions.AddResourceSet(new AddResourceSetParameter
            {
                PolicyId     = id,
                ResourceSets = postAddResourceSet.ResourceSets
            });

            if (!isPolicyExists)
            {
                return(GetNotFoundPolicy());
            }

            await _representationManager.AddOrUpdateRepresentationAsync(this, CachingStoreNames.GetPolicyStoreName + id, false);

            return(new StatusCodeResult((int)HttpStatusCode.NoContent));
        }
        public async Task <ActionResult> PostAddResourceSet(string id, [FromBody] PostAddResourceSet postAddResourceSet)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                return(BuildError(ErrorCodes.InvalidRequestCode, "the identifier must be specified", HttpStatusCode.BadRequest));
            }

            if (postAddResourceSet == null)
            {
                return(BuildError(ErrorCodes.InvalidRequestCode, "no parameter in body request", HttpStatusCode.BadRequest));
            }

            var isPolicyExists = await _policyActions.AddResourceSet(new AddResourceSetParameter
            {
                PolicyId     = id,
                ResourceSets = postAddResourceSet.ResourceSets
            });

            if (!isPolicyExists)
            {
                return(GetNotFoundPolicy());
            }

            await _representationManager.AddOrUpdateRepresentationAsync(this, Constants.CachingStoreNames.GetPolicyStoreName + id, false);

            return(new StatusCodeResult((int)HttpStatusCode.NoContent));
        }