コード例 #1
0
        public async Task <StatusCodes> DeleteItemAsync(ProcessTypeViewModel modelObject, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - DeleteItemAsync called.");

            Guard.Against.Null(modelObject, nameof(modelObject), requestId);
            Guard.Against.NullOrEmpty(modelObject.Id, nameof(modelObject.Id), requestId);

            var entityObject = MapToProcessEntity(modelObject, requestId);

            // Remove associated permissions
            try
            {
                var channelName = modelObject.Channel.Replace(" ", "").ToString();

                var permissionReadObj = $"{channelName}_Read";

                var permissionReadWriteObj = $"{channelName}_ReadWrite";

                var permissions = await permissionRepository.GetAllAsync();

                var permissionReadId      = permissions.FirstOrDefault(x => x.Name.Equals(permissionReadObj, StringComparison.OrdinalIgnoreCase))?.Id;
                var permissionReadWriteId = permissions.FirstOrDefault(x => x.Name.Equals(permissionReadWriteObj, StringComparison.OrdinalIgnoreCase))?.Id;

                await permissionRepository.DeleteItemAsync(permissionReadId, requestId);

                await permissionRepository.DeleteItemAsync(permissionReadWriteId, requestId);

                permissionRepository.CleanCache();
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - Process_DeleteItemAsync Service Exception, error while deleting associated permissions: {ex}");
                throw new ResponseException($"RequestId: {requestId} - DeleteItemAsync Service Exception: {ex}");
            }

            try {
                var result = await processRepository.DeleteItemAsync(modelObject.Id, requestId);

                Guard.Against.NotStatus204NoContent(result, "DeleteItemAsync", requestId);

                return(result);
            }
            catch (Exception ex)
            {
                _logger.LogError($"RequestId: {requestId} - Process_DeleteItemAsync Service Exception, error while deleting process: {ex}");
                throw new ResponseException($"RequestId: {requestId} - DeleteItemAsync Service Exception: {ex}");
            }
        }
コード例 #2
0
        public async Task <StatusCodes> DeleteItemAsync(string id, string requestId = "")
        {
            _logger.LogInformation($"RequestId: {requestId} - DeleteItemAsync called.");
            Guard.Against.Null(id, nameof(id));

            var result = await _processRepository.DeleteItemAsync(id, requestId);

            Guard.Against.NotStatus204NoContent(result, "DeleteItemAsync", requestId);

            return(result);
        }