| | |
| | | global void execute(Database.BatchableContext BC, List<Attachment> scope) { |
| | | List<ContentVersion> insertContents = new List<ContentVersion>(); |
| | | Map<string, id> nameParentMaps = new Map<string, id>(); |
| | | Set<String> attachmentIds = new Set<String>(); |
| | | for (Attachment att : scope) { |
| | | nameParentMaps.put(att.Name, att.ParentId); |
| | | attachmentIds.add(att.Id); |
| | | ContentVersion cVersion = new ContentVersion(); |
| | | cVersion.ContentLocation = 'S'; //S-Document is in Salesforce. E-Document is outside of Salesforce. L-Document is on a Social Netork. |
| | | cVersion.PathOnClient = att.Name; //File name with extention |
| | |
| | | if (insertContents.isEmpty()) { |
| | | return; |
| | | } |
| | | insert insertContents; |
| | | //Insert insertContents; |
| | | List<Database.SaveResult> saveResultsContents = Database.insert( |
| | | insertContents, |
| | | false |
| | | ); |
| | | insertLog(saveResultsContents, attachmentIds); |
| | | set<Id> contentIds = new Set<Id>(); |
| | | for (ContentVersion cv : insertContents) { |
| | | contentIds.add(cv.id); |
| | |
| | | cDocLink.Visibility = 'AllUsers'; |
| | | insertDocLinks.add(cDocLink); |
| | | } |
| | | insert insertDocLinks; |
| | | //Insert insertDocLinks; |
| | | List<Database.SaveResult> saveResultsLinks = Database.insert( |
| | | insertDocLinks, |
| | | false |
| | | ); |
| | | insertLog(saveResultsLinks, attachmentIds); |
| | | } |
| | | |
| | | global void insertLog( |
| | | List<Database.SaveResult> saveResults, |
| | | Set<String> attachmentIds |
| | | ) { |
| | | Transaction_Log__c traLog = new Transaction_Log__c(); |
| | | List<Map<String, String>> logMapList = new List<Map<String, String>>(); |
| | | for (Database.SaveResult result : saveResults) { |
| | | String recordId = result.getId(); |
| | | if (!result.isSuccess()) { |
| | | for (Database.Error error : result.getErrors()) { |
| | | Map<String, String> logMap = new Map<String, String>(); |
| | | String errorMsg = error.getMessage(); |
| | | logMap.put('recordId', recordId); |
| | | logMap.put('errorMsg', errorMsg); |
| | | logMapList.add(logMap); |
| | | } |
| | | } |
| | | } |
| | | if (logMapList.size() > 0) { |
| | | Map<String, String> attachmentIdMap = new Map<String, String>(); |
| | | attachmentIdMap.put('attachmentIds', JSON.serialize(attachmentIds)); |
| | | logMapList.add(attachmentIdMap); |
| | | traLog.Response__c = JSON.serialize(logMapList); |
| | | traLog.Module__c = 'Attachment COnvert Transaction '; |
| | | insert traLog; |
| | | } |
| | | } |
| | | |
| | | global void finish(Database.BatchableContext BC) { |