Advertisement
nkarmi

Untitled

Aug 21st, 2018
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. /**
  2. * Created by nkarmi on 8/19/2018.
  3. */
  4.  
  5. public with sharing class DepositLoaderController {
  6. /**
  7. *
  8. *
  9. * @param accountId
  10. * @param swiftData
  11. * @param tofesData [0: Account Number, 1: Takboul Number, 2: Amount, 3: Currency]
  12. *
  13. * @return
  14. */
  15. @AuraEnabled
  16. public static boolean saveDeposit(String accountId, String swiftData, String[] tofesData) {
  17. String[] userInfo = swiftData.split('\n');
  18. userInfo.remove(0);//Remove Account Id
  19. List<Bank_Details__c> bankDetails = [SELECT Id FROM Bank_Details__c WHERE Name = :userInfo[0].trim() + ' Sender Bank' AND Account__c = :accountId];
  20. Account objAccount = [SELECT Id, Name FROM Account WHERE Id = :accountId];
  21. List<Currency_To_Country__mdt> lstCurrencyToCountries = [SELECT Country__c FROM Currency_To_Country__mdt WHERE DeveloperName = :tofesData[3]];
  22. try {
  23. Bank_Details__c objBankDetails;
  24. if (bankDetails.size() > 0) {
  25. objBankDetails = bankDetails[0];
  26. } else {
  27. /**
  28. * Create Bank Detail Info
  29. */
  30. objBankDetails = new Bank_Details__c();
  31. objBankDetails.Account__c = accountId;
  32. objBankDetails.Name = userInfo[0].trim() + ' Sender Bank';
  33. objBankDetails.Payee__c = userInfo[0].trim();
  34. objBankDetails.Sender_Recevier__c = 'Sender';
  35. objBankDetails.Hide__c = true;
  36. objBankDetails.Street_Address_Of_Receiver__c = userInfo[1].trim() + ' ' + (userInfo.size() > 2 ? userInfo[2].trim() : '');
  37. objBankDetails.Country__c = lstCurrencyToCountries[0].Country__c;
  38. objBankDetails.LoadedFROMTofes__c = true;
  39. insert objBankDetails;
  40. }
  41. String depositAccountName = objAccount.Name + ' - ' + tofesData[3].trim();
  42. List<Deposit_Account__c> depositAccounts = [SELECT Id, Name,Currency__c FROM Deposit_Account__c WHERE Name = :depositAccountName];
  43.  
  44. Deposit_Account__c objDepositAccount;
  45. if (depositAccounts.size() > 0) {
  46. objDepositAccount = depositAccounts[0];
  47. } else {
  48. /**
  49. * Insert Deposit Account
  50. */
  51. objDepositAccount = new Deposit_Account__c();
  52. objDepositAccount.Name = depositAccountName;
  53. objDepositAccount.Currency__c = tofesData[3];
  54. objDepositAccount.Account__c = accountId;
  55. if (tofesData[0].trim() == Label.AACI_Account_Id) {
  56. objDepositAccount.AACI__c = true;
  57. }
  58. insert objDepositAccount;
  59. }
  60. /**
  61. * Create Transfer
  62. */
  63. Transfer__c objTransfer = new Transfer__c();
  64. objTransfer.Account__c = accountId;
  65. objTransfer.Deposit_Account__c = objDepositAccount.Id;
  66. objTransfer.Type__c = 'Deposit';
  67. objTransfer.Amount__c = Double.valueOf(tofesData[2].trim().replace(',', ''));
  68. objTransfer.Status__c = 'Pending';
  69. if (tofesData[0].trim() == Label.AACI_Account_Id) {
  70. objTransfer.AACI__c = true;
  71. }
  72. objTransfer.Takbul_Num__c = tofesData[1].trim();
  73. objTransfer.Sender_Bank_Detail__c = objBankDetails.Id;
  74. objTransfer.Transfer_Date__c = System.today();
  75. insert objTransfer;
  76. } catch (Exception ex) {
  77. return false;
  78. }
  79.  
  80. return true;
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement