public async Task <ActionResult <SubscriptionDto> > DeleteSubscription(int subscriptionId) { try { var deletedSubscription = await _subscriptionService.DeleteSubscriptionByIdAsync(subscriptionId); var subscriptionResponse = _mapper.Map <SubscriptionDto>(deletedSubscription); return(Ok(subscriptionResponse)); } catch (SubscriptionValidationException exception) when(exception.InnerException is NotFoundSubscriptionException) { var innerMessage = GetInnerMessage(exception); return(NotFound(innerMessage)); } catch (SubscriptionValidationException exception) { var innerMessage = GetInnerMessage(exception); return(BadRequest(innerMessage)); } catch (SubscriptionServiceException exception) { return(Problem(exception.Message)); } }