import DcForm from '../../../pages/dc/dcForm.page'; import * as stepVariableMap from '../../../util/stepVariableMap'; export async function fillDc(saveDC: string, scenario: string, dataTable: { rowsHash: () => any }) { const dcFormPage = new DcForm(); const svm = stepVariableMap.getStepVariableMap(scenario); const data = dataTable.rowsHash(); const dcFormData: IDCData = { APPLICANT_ADDRESS: svm[data['Applicant Address']] ?? data['Applicant Address'], BENEFICIARY: svm[data['Beneficiary']] ?? data['Beneficiary'], BENEFICIARY_ADDRESS: svm[data['Beneficiary Address']] ?? data['Beneficiary Address'], ISSUING_BANK: svm[data['Issuing Bank']] ?? data['Issuing Bank'], ISSUING_BANK_ADDRESS: svm[data['Issuing Bank Address']] ?? data['Issuing Bank Address'], ADVISING_BANK: svm[data['Advising Bank']] ?? data['Advising Bank'], ADVISING_BANK_ADDRESS: svm[data['Advising Bank Address']] ?? data['Advising Bank Address'], NEW_ADVISING_BANK: svm[data['New Advising Bank']] ?? data['New Advising Bank'], NEW_ADVISING_BANK_ADDRESS: svm[data['New Advising Bank Address']] ?? data['New Advising Bank Address'], ALLOW_ISSUE_BANK_MAKE_CHANGES_DIRECTLY: data['Allow Issuing Bank To Make Changes Directly'], CONFIRMATION_INSTRUCTION: data['Confirmation Instructions'], CONFIRMING_BANK: svm[data['Confirming Bank']], CONFIRMING_BANK_ADDRESS: svm[data['Confirming Bank Address']], NEW_CONFIRMING_BANK: svm[data['New Confirming Bank']] ?? data['New Confirming Bank'], NEW_CONFIRMING_BANK_ADDRESS: svm[data['New Confirming Bank Address']] ?? data['New Confirming Bank Address'], AVAIABLE_BY_PAYMENT_AT_SIGHT: data['Available By Payment At Sight'], AVAIABLE_BY_DEFERRED_PAYMENT: data['Available By Deferred Payment'], DEFERRED_PAYMENT_DETAILS: data['Deferred Payment Details'], AVAIABLE_BY_ACCEPTANCE: data['Available By Acceptance'], ACCEPTANCE_DRAFT_AT: data['Acceptance Draft At'], ACCEPTANCE_DRAWEE_BANK: svm[data['Acceptance Drawee Bank']] ?? data['Acceptance Drawee Bank'], ACCEPTANCE_DRAWEE_BANK_ADDRESS: svm[data['Acceptance Drawee Bank Address']] ?? data['Acceptance Drawee Bank Address'], AVAIABLE_BY_NEGOTIATION: data['Available By Negotiation'], NEGOTIATION_PAYMENT_DETAILS_CHECK: data['Check Negotiation Payment Details'], NEGOTIATION_PAYMENT_DETAILS: data['Negotiation Payment Details'], NEGOTIATION_DRAFT_AT_CHECK: data['Check Drafts At'], NEGOTIATION_DRAFTS_AT: data['Drafts At'], NEGOTIATION_DRAWEE_BANK: svm[data['Negotiation Drawee Bank']] ?? data['Negotiation Drawee Bank'], NEGOTIATION_DRAWEE_BANK_ADDRESS: svm[data['Negotiation Drawee Bank Address']] ?? data['Negotiation Drawee Bank Address'], AVAIABLE_BY_PAYMENT_CONDITIONS: data['Available By Payment Conditions'], AVAIABLE_WITH_BANK: svm[data['Available With Bank']] ?? data['Available With Bank'], AVAIABLE_WITH_BANK_ADDRESS: svm[data['Available With Bank Address']] ?? data['Available With Bank Address'], APPLIABLE_RULES: data['Applicable Rules'], DESCRIPTION_OF_APPLICABLE_RULES: data['Description of Applicable Rules'], SELECTED_CURRENCY: data['Selected Currency'], AMOUNT: data['Amount'], MAX_TOLERANCE: data['Max Tolerance (Optional)'], MIN_TOLERANCE: data['Min Tolerance (Optional)'], ADDITIONAL_AMOUNT_COVERED: data['Additional Amount Covered (Option)'], EXPIRY_DATE_YYMMDD: data['Expiry Date (YY/MM/DD)'], EXPIRY_PLACE: data['Expiry Place'], PARTIAL_SHIPMENTS: data['Partial Shipments (optional)'], TRANSHIPMENT: data['Transhipment (optional)'], SHIPMENT_DATE_PERIOD: data['Shipment Date / Period'], LATEST_DATE_OF_SHIPMENT: data['Latest Date Of Shipment'], SHIPMENT_PERIOD: data['Shipment Period'], DESCRIPTION_OF_GOODS_SERVICES: data['Description Of Goods And/Or Services'], PERIOD_OF_PRESENTATION: data['Period Of Presentation'], TYPE_OF_PRESENTATION: data['Type Of Presentation'], PLACE_OF_TAKING: data['Place Of Taking In Charge / Dispatch Form / Place Of Receipt (optional)'], PORT_OF_LOADING: data['Port Of Loading / Airport Of Departure (optional)'], PORT_OF_DISCHARGE: data['Port Of Discharge / Airport Of Destination (optional)'], PLACE_OF_FINAL_DESTINATION: data['Place Of Final Destination / For Transportation To / Place Of Delivery (optional)'], ATTACHMENTS: data['Attachments'] }; await dcFormPage.fill(dcFormData, saveDC.includes('Save')); }