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