public async Task <PaymentNotificationResponseModel> SetBillPaidPaymentNotification([FromBody] PaymentNotificationModel paymentNotificationModelList)
        {
            try
            {
                if (paymentNotificationModelList == null)
                {
                    throw new Exception("model is null");
                }
                PaymentNotificationServiceModel paymentNotification = new PaymentNotificationServiceModel(paymentNotificationModelList.AgencyCode, paymentNotificationModelList.IntermediatePaymentId, paymentNotificationModelList.BillCategory, paymentNotificationModelList.BillAccount, paymentNotificationModelList.PaymentAmount, paymentNotificationModelList.PaymentDate, paymentNotificationModelList.PaymentMethod, paymentNotificationModelList.PaymentStatusCode, paymentNotificationModelList?.PaymentReferenceInfo, paymentNotificationModelList.PaymentMethodDetail.SADADPaymentTransactionId, paymentNotificationModelList.PaymentMethodDetail.BankId, paymentNotificationModelList.PaymentMethodDetail.BankReversalTransactionID, paymentNotificationModelList.PaymentMethodDetail.BankPaymentId, paymentNotificationModelList.PaymentMethodDetail.PaymentChannel, paymentNotificationModelList?.PayorPOI?.POINumber, paymentNotificationModelList?.PayorPOI?.POIType);
                var updatedBillNumbersList = await _billsInqueryAppService.SetBillPaid(paymentNotification);

                return(new PaymentNotificationResponseModel()
                {
                    StatusCode = ServiceStatusCodes.Success, StatusDesc = "Success", UpdatedPaymentNotificationList = updatedBillNumbersList
                });
            }
            catch (EntityNotFoundException ex)
            {
                Logger.LogToFile(ex.Message.ToString(), "EntityNotFoundException");
                _logger.LogError(ex.ToString(), ex);
                return(new PaymentNotificationResponseModel()
                {
                    StatusCode = ServiceStatusCodes.NoDataFound, StatusDesc = ex.Message
                });
            }
            catch (NullReferenceException ex)
            {
                Logger.LogToFile(ex.Message.ToString(), "NullReferenceException");
                _logger.LogError(ex.ToString(), ex);
                return(new PaymentNotificationResponseModel()
                {
                    StatusCode = ServiceStatusCodes.NoDataFound, StatusDesc = ex.Message
                });
            }
            catch (InvalidDataException ex)
            {
                Logger.LogToFile(ex.Message.ToString(), "InvalidDataException");
                _logger.LogError(ex.ToString(), ex);
                return(new PaymentNotificationResponseModel()
                {
                    StatusCode = ServiceStatusCodes.WrongTypeCode, StatusDesc = ex.Message
                });
            }
            catch (Exception ex)
            {
                Logger.LogToFile(ex.Message.ToString(), "Exception");
                _logger.LogError(ex.ToString(), ex);
                return(new PaymentNotificationResponseModel()
                {
                    StatusCode = ServiceStatusCodes.UnrecoverableDatabaseError, StatusDesc = ex.Message
                });
            }
        }