public async Task <PaginatedList <NotificationMessage> > GetNotificationMessagesForCustomerAsync(string customerId, int currentPage, int pageSize)
        {
            ValidateCurrentPageAndPageSize(currentPage, pageSize);

            var skip = (currentPage - 1) * pageSize;
            var take = pageSize;

            var result = await _notificationMessageRepository.GetNotificationMessagesForCustomerAsync(skip, take,
                                                                                                      customerId);

            //Decrypt the messages
            foreach (var message in result.Data)
            {
                message.Message = _encryptionService.DecryptValue(message.Message);
            }

            result.CurrentPage = currentPage;
            result.PageSize    = pageSize;

            return(result);
        }