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 }); } }