public static async Task <DomesticPaymentConsentFluentResponse> SubmitAsync( this DomesticPaymentConsentContext context) { context.ArgNotNull(nameof(context)); IList <FluentResponseMessage> validationErrors = Validate(context); if (validationErrors.Count > 0) { return(new DomesticPaymentConsentFluentResponse(validationErrors)); } try { CreateDomesticPaymentConsent createDomesticConsent = new CreateDomesticPaymentConsent( apiClient: context.Context.ApiClient, mapper: context.Context.EntityMapper, dbMultiEntityMethods: context.Context.DbContextService, bankClientProfileRepo: context.Context.ClientProfileRepository, apiProfileRepo: context.Context.ApiProfileRepository, domesticConsentRepo: context.Context.DomesticConsentRepository, softwareStatementProfileService: context.Context.SoftwareStatementProfileService); PaymentConsentResponse result = await createDomesticConsent.CreateAsync(context.Data); return(new DomesticPaymentConsentFluentResponse(result)); } catch (Exception ex) { context.Context.Instrumentation.Exception(ex); return(new DomesticPaymentConsentFluentResponse(ex.CreateErrorMessage())); } }
public static DomesticPaymentConsentContext Data( this DomesticPaymentConsentContext context, DomesticPaymentConsent value) { context.ArgNotNull(nameof(context)); value.ArgNotNull(nameof(value)); context.Data = value; return(context); }
public static DomesticPaymentConsentContext ApiProfileId( this DomesticPaymentConsentContext context, string value) { context.ArgNotNull(nameof(context)); value.ArgNotNull(nameof(value)); context.GetOrCreateDefault(BaseLens) .ApiProfileId = value; return(context); }
// HACK: need better abstractions public static DomesticPaymentConsentContext DeliveryAddress( this DomesticPaymentConsentContext context, OBRisk1DeliveryAddress value) { context.ArgNotNull(nameof(context)); if (value != null) { context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(RiskLens).DeliveryAddress = value; } return(context); }
public static DomesticPaymentConsentContext Amount( this DomesticPaymentConsentContext context, OBWriteDomestic2DataInitiationInstructedAmount value) { context.ArgNotNull(nameof(context)); if (value != null) { context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(DataLens) .GetOrCreateDefault(InitiationLens).InstructedAmount = value; } return(context); }
public static DomesticPaymentConsentContext Remittance( this DomesticPaymentConsentContext context, OBWriteDomestic2DataInitiationRemittanceInformation value) { context.ArgNotNull(nameof(context)); if (value != null) { context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(DataLens) .GetOrCreateDefault(InitiationLens).RemittanceInformation = value; } return(context); }
public static DomesticPaymentConsentContext EndToEndIdentification( this DomesticPaymentConsentContext context, string value) { context.ArgNotNull(nameof(context)); if (value != null) { context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(DataLens) .GetOrCreateDefault(InitiationLens).EndToEndIdentification = value; } return(context); }
public static DomesticPaymentConsentContext Amount( this DomesticPaymentConsentContext context, string currency, double value) { context.ArgNotNull(nameof(context)); OBWriteDomestic2DataInitiationInstructedAmount amt = context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(DataLens) .GetOrCreateDefault(InitiationLens) .GetOrCreateDefault(InstructedAmountLens); amt.Currency = currency; amt.Amount = value.ToString(CultureInfo.InvariantCulture); return(context); }
public static DomesticPaymentConsentContext Merchant( this DomesticPaymentConsentContext context, string merchantCategory, string merchantCustomerId, OBRisk1.PaymentContextCodeEnum?paymentContextCode) { context.ArgNotNull(nameof(context)); if (merchantCategory != null || merchantCustomerId != null || paymentContextCode != null) { OBRisk1 risk = context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(RiskLens); risk.MerchantCategoryCode = merchantCategory; risk.MerchantCustomerIdentification = merchantCustomerId; risk.PaymentContextCode = paymentContextCode; } return(context); }
public static DomesticPaymentConsentContext DebtorAccount( this DomesticPaymentConsentContext context, string identification, string schema, string name, string secondaryId) { context.ArgNotNull(nameof(context)); OBWriteDomestic2DataInitiationDebtorAccount acct = context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(DataLens) .GetOrCreateDefault(InitiationLens) .GetOrCreateDefault(DebtorAccountLens); acct.Identification = identification; acct.Name = name; acct.SchemeName = schema; acct.SecondaryIdentification = secondaryId; return(context); }
private static IList <FluentResponseMessage> Validate(DomesticPaymentConsentContext context) { return(new OBWriteDomesticConsentValidator() .Validate(context.Data) .GetOpenBankingResponses()); }