private async Task <PaymentRequestSendResultModel> CreateTaxMeRequest(int certificateOfDistraintOfPropertyRequestId)
        {
            EServicePaymentRequestCreateModel result = await _ePaymentService.GeneratePaymentRequestAsync(Shared.Enums.EServiceType.SEIZEDPROPERTYCERTIFICATE, certificateOfDistraintOfPropertyRequestId);

            PaymentRequest request = await _context.PaymentRequest.Where(x => x.AisPaymentId == result.PaymentRequestId).SingleOrDefaultAsync();

            EPaymentRequestModel          model           = request.ToEpaymentModel();
            PaymentRequestSendResultModel sendResultModel = await _ePaymentService.SendEpaymentRequestAsync(model ?? throw new ArgumentNullException(nameof(result)));

            return(sendResultModel);
        }
        public static EservicePaymentRequest ToEntity(this EServicePaymentRequestCreateModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var entity = new EservicePaymentRequest
            {
                EserviceTypeCode = model.EserviceTypeCode,
                SeizedPropertyCertificateRequestId = model.SeizedPropertyCertificateRequestId,
                SeizedPropertyReportRequestId      = model.SeizedPropertyReportRequestId,
                PaymentRequestId = model.PaymentRequestId,
                CreatedAt        = DateTime.Now,
                StatusCode       = model.StatusCode,
            };

            return(entity);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> GeneratePaymentRequestForSeizedPropertyReport(int requestId)
        {
            try
            {
                if (requestId <= 0)
                {
                    return(BadRequest("Missing report request"));
                }

                EServicePaymentRequestCreateModel request = await paymentService.GeneratePaymentRequestAsync(Shared.Enums.EServiceType.SEIZEDPROPERTYBYOWNERREPORT, requestId);

                Log.Information($"IntegrationController/newPaymentRequestForReport - created request with Id: {request.Id}");
                return(Ok(request));
            }
            catch (Exception ex)
            {
                Log.Error(ex, $"ERROR generating payment request for seized property report");
                return(BadRequest("Error generating payment request for seized property report"));
            }
        }
Exemplo n.º 4
0
        public async Task <EServicePaymentRequestCreateModel> GeneratePaymentRequestAsync(Shared.Enums.EServiceType serviceType, int requestId)
        {
            // Взима данни на заявителя.
            ApplicantData applicantData = await GetApplicantDataAsync(serviceType, requestId);

            // Взеима данните за доставчик на ЕАУ, в случая Министерство на правосъдието.
            EServicesSettingsModel settings = await _eServiceSettingsService.GetEServiceSettingsAsync();

            PaymentRequestModel paymentRequest = CreatePaymentRequest(serviceType, settings, applicantData);

            paymentRequest = await SavePaymentRequestAsync(paymentRequest);

            EServicePaymentRequestCreateModel servicePaymentRequest = new EServicePaymentRequestCreateModel();

            servicePaymentRequest.EserviceTypeCode = serviceType.ToString();
            if (serviceType == Shared.Enums.EServiceType.SEIZEDPROPERTYCERTIFICATE)
            {
                servicePaymentRequest.SeizedPropertyCertificateRequestId = requestId;
            }
            else if (serviceType == Shared.Enums.EServiceType.SEIZEDPROPERTYBYOWNERREPORT)
            {
                servicePaymentRequest.SeizedPropertyReportRequestId = requestId;
            }
            servicePaymentRequest.PaymentRequestId = paymentRequest.AisPaymentId;
            servicePaymentRequest.StatusCode       = Shared.Enums.PaymentRequestStatus.NEW.ToString();

            EservicePaymentRequest entity = servicePaymentRequest.ToEntity();

            await _context.EservicePaymentRequest.AddAsync(entity);

            await _context.SaveChangesAsync();

            await AddEServicePaymentRequestStatusHistory(entity.Id, entity.StatusCode, entity.CreatedAt, null, null);

            servicePaymentRequest.Id = entity.Id;
            return(servicePaymentRequest);
        }