Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by nkarmi on 8/19/2018.
- */
- public with sharing class DepositLoaderController {
- /**
- *
- *
- * @param accountId
- * @param swiftData
- * @param tofesData [0: Account Number, 1: Takboul Number, 2: Amount, 3: Currency]
- *
- * @return
- */
- @AuraEnabled
- public static boolean saveDeposit(String accountId, String swiftData, String[] tofesData) {
- String[] userInfo = swiftData.split('\n');
- userInfo.remove(0);//Remove Account Id
- List<Bank_Details__c> bankDetails = [SELECT Id FROM Bank_Details__c WHERE Name = :userInfo[0].trim() + ' Sender Bank' AND Account__c = :accountId];
- Account objAccount = [SELECT Id, Name FROM Account WHERE Id = :accountId];
- List<Currency_To_Country__mdt> lstCurrencyToCountries = [SELECT Country__c FROM Currency_To_Country__mdt WHERE DeveloperName = :tofesData[3]];
- try {
- Bank_Details__c objBankDetails;
- if (bankDetails.size() > 0) {
- objBankDetails = bankDetails[0];
- } else {
- /**
- * Create Bank Detail Info
- */
- objBankDetails = new Bank_Details__c();
- objBankDetails.Account__c = accountId;
- objBankDetails.Name = userInfo[0].trim() + ' Sender Bank';
- objBankDetails.Payee__c = userInfo[0].trim();
- objBankDetails.Sender_Recevier__c = 'Sender';
- objBankDetails.Hide__c = true;
- objBankDetails.Street_Address_Of_Receiver__c = userInfo[1].trim() + ' ' + (userInfo.size() > 2 ? userInfo[2].trim() : '');
- objBankDetails.Country__c = lstCurrencyToCountries[0].Country__c;
- objBankDetails.LoadedFROMTofes__c = true;
- insert objBankDetails;
- }
- String depositAccountName = objAccount.Name + ' - ' + tofesData[3].trim();
- List<Deposit_Account__c> depositAccounts = [SELECT Id, Name,Currency__c FROM Deposit_Account__c WHERE Name = :depositAccountName];
- Deposit_Account__c objDepositAccount;
- if (depositAccounts.size() > 0) {
- objDepositAccount = depositAccounts[0];
- } else {
- /**
- * Insert Deposit Account
- */
- objDepositAccount = new Deposit_Account__c();
- objDepositAccount.Name = depositAccountName;
- objDepositAccount.Currency__c = tofesData[3];
- objDepositAccount.Account__c = accountId;
- if (tofesData[0].trim() == Label.AACI_Account_Id) {
- objDepositAccount.AACI__c = true;
- }
- insert objDepositAccount;
- }
- /**
- * Create Transfer
- */
- Transfer__c objTransfer = new Transfer__c();
- objTransfer.Account__c = accountId;
- objTransfer.Deposit_Account__c = objDepositAccount.Id;
- objTransfer.Type__c = 'Deposit';
- objTransfer.Amount__c = Double.valueOf(tofesData[2].trim().replace(',', ''));
- objTransfer.Status__c = 'Pending';
- if (tofesData[0].trim() == Label.AACI_Account_Id) {
- objTransfer.AACI__c = true;
- }
- objTransfer.Takbul_Num__c = tofesData[1].trim();
- objTransfer.Sender_Bank_Detail__c = objBankDetails.Id;
- objTransfer.Transfer_Date__c = System.today();
- insert objTransfer;
- } catch (Exception ex) {
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement