public static EServicesSettingsModel ToModel(this EservicesSettings entity) { if (entity == null) { return(null); } var model = new EServicesSettingsModel { ServiceProviderName = entity.ServiceProviderName, ServiceProviderBank = entity.ServiceProviderBank, ServiceProviderBic = entity.ServiceProviderBic, ServiceProviderIban = entity.ServiceProviderIban, Currency = entity.Currency, SeizedPropertyCertificateRequestExpirationDays = entity.SeizedPropertyCertificateRequestExpirationDays, SeizedPropertyCertificateFee = entity.SeizedPropertyCertificateFee, SeizedPropertyCertificateReason = entity.SeizedPropertyCertificateReason, SeizedPropertyReportRequestExpirationDays = entity.SeizedPropertyReportRequestExpirationDays, SeizedPropertyByOwnerReportFee = entity.SeizedPropertyByOwnerReportFee, SeizedPropertyReportReason = entity.SeizedPropertyReportReason, AdministrativeServiceNotificationUrl = entity.AdministrativeServiceNotificationUrl, }; return(model); }
public async Task <EServicesSettingsModel> LoadSettingsAsync() { EServicesSettingsModel entity = await _context.EservicesSettings .Select(x => x.ToModel()) .FirstOrDefaultAsync(); return(entity); }
public async Task <EServicesSettingsModel> GetEServiceSettingsAsync() { EServicesSettingsModel settings = await _context.EservicesSettings .Select(x => x.ToModel()) .FirstOrDefaultAsync(); return(settings); }
public async Task ChangeSettingsAsync(EServicesSettingsModel model) { EservicesSettings entity = await _context.EservicesSettings .FirstOrDefaultAsync(); if (entity == null) { throw new ArgumentNullException(nameof(EservicesSettings), $"EservicesSettings not found for update!"); } entity.Update(model); // TODO: updatedAt, updatedBy _context.EservicesSettings.Update(entity); await _context.SaveChangesAsync(); }
public static void Update(this EservicesSettings entity, EServicesSettingsModel model) { if (entity == null || model == null) { return; } entity.ServiceProviderName = model.ServiceProviderName; entity.ServiceProviderBank = model.ServiceProviderBank; entity.ServiceProviderBic = model.ServiceProviderBic; entity.ServiceProviderIban = model.ServiceProviderIban; entity.Currency = model.Currency; entity.SeizedPropertyCertificateRequestExpirationDays = model.SeizedPropertyCertificateRequestExpirationDays; entity.SeizedPropertyCertificateFee = model.SeizedPropertyCertificateFee; entity.SeizedPropertyCertificateReason = model.SeizedPropertyCertificateReason; entity.SeizedPropertyReportRequestExpirationDays = model.SeizedPropertyReportRequestExpirationDays; entity.SeizedPropertyByOwnerReportFee = model.SeizedPropertyByOwnerReportFee; entity.SeizedPropertyReportReason = model.SeizedPropertyReportReason; entity.AdministrativeServiceNotificationUrl = model.AdministrativeServiceNotificationUrl; return; }
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); }
private PaymentRequestModel CreatePaymentRequest(Shared.Enums.EServiceType serviceType, EServicesSettingsModel settings, ApplicantData applicantData) { int expirationDays = 0; decimal fee = 0m; string reason = ""; if (serviceType == Shared.Enums.EServiceType.SEIZEDPROPERTYCERTIFICATE) { expirationDays = settings.SeizedPropertyCertificateRequestExpirationDays.HasValue ? settings.SeizedPropertyCertificateRequestExpirationDays.Value : 0; fee = settings.SeizedPropertyCertificateFee.HasValue ? settings.SeizedPropertyCertificateFee.Value : 0m; reason = settings.SeizedPropertyCertificateReason; } else if (serviceType == Shared.Enums.EServiceType.SEIZEDPROPERTYBYOWNERREPORT) { expirationDays = settings.SeizedPropertyReportRequestExpirationDays.HasValue ? settings.SeizedPropertyReportRequestExpirationDays.Value : 0; fee = settings.SeizedPropertyByOwnerReportFee.HasValue ? settings.SeizedPropertyByOwnerReportFee.Value : 0m; reason = settings.SeizedPropertyReportReason; } PaymentRequestModel request = new PaymentRequestModel(); request.ServiceProviderName = settings.ServiceProviderName; request.ServiceProviderBank = settings.ServiceProviderBank; request.ServiceProviderBic = settings.ServiceProviderBic; request.ServiceProviderIban = settings.ServiceProviderIban; request.Currency = settings.Currency; request.PaymentTypeCode = "1"; //Код на плащане. Да се разбере какъв може да бъде. Примерно "1" request.PaymentAmount = fee; request.PaymentReason = reason; request.ApplicantUinTypeId = (int)applicantData.applicantIdentifierType; request.ApplicantUin = applicantData.applicantIdentifier; request.ApplicantName = applicantData.applicantName; request.PaymentReferenceType = "1"; // Тип на документ (референтен документ за плащане). Да се разбере какъв може да бъде. request.PaymentReferenceNumber = Guid.NewGuid().ToString(); request.PaymentReferenceDate = DateTime.Now; request.ExpirationDate = DateTime.Now.AddDays(expirationDays); request.AdditionalInformation = null; request.AdministrativeServiceUri = null; request.AdministrativeServiceSupplierUri = _settings.AdministrativeServiceSupplierUri; request.AdministrativeServiceNotificationUrl = string.IsNullOrWhiteSpace(settings.AdministrativeServiceNotificationUrl) ? _settings.AdministrativeServiceNotificationUrl : settings.AdministrativeServiceNotificationUrl; return(request); }