({ refreshpageandexecutebatch: function(component, event, helper){ var refreshpageandexecutebatch = component.get("c.syncShopify"); refreshpageandexecutebatch.setParams({ 'store':component.get("v.store") }) refreshpageandexecutebatch.setCallback(this,function(res){ var state = res.getState(); if(state =="SUCCESS"){ location.reload(true); } }); $A.enqueueAction(refreshpageandexecutebatch ); }, startfromthefirstpage: function(component, event, helper){ var startfromthefirstpage = component.get("c.updateconfigurationpbatchprocessingfield"); startfromthefirstpage.setParams({ 'store':component.get("v.store") }) startfromthefirstpage.setCallback(this,function(res){ var state = res.getState(); if(state =="SUCCESS" && res.getReturnValue() == true ){ location.reload(true); } }); $A.enqueueAction(startfromthefirstpage); }, CallBatchInfo : function(component, event, helper) { console.log('callBatchInfor-->'); console.log(component.get("v.store")); if(component.get("v.Batchaborted") || component.get("v.Batchabortedbox")) return; try{ var action = component.get("c.CheckingBatchDetails"); var objectName; var ApexClassName; var result; if((component.get("v.ProductCount") == 'In Queue' || component.get("v.ProductComplete") == 'false' || component.get("v.ProductComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')){ objectName = 'Product2'; ApexClassName = 'BatchToCreateProducts'; }else if((component.get("v.VarientCount") == 'In Queue' || component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && (component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')){ objectName = 'HIC_ShopifySync__Variant__c'; ApexClassName = 'BatchToCreateProducts'; }else if((component.get("v.AccountCount") == 'In Queue' || component.get("v.AccountComplete") == 'false' || component.get("v.AccountComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')){ objectName = 'Account'; ApexClassName = 'FetchAccounts'; }else if((component.get("v.ContactCount") == 'In Queue' || component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')){ objectName = 'Contact'; ApexClassName = 'FetchAccounts'; }else if((component.get("v.OrderCount") == 'In Queue' || component.get("v.OrderComplete") == 'false' || component.get("v.OrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == 'true')){ objectName = 'Order'; ApexClassName = 'FetchOrders'; }else if((component.get("v.OppCount") == 'In Queue' || component.get("v.OppComplete") == 'false' || component.get("v.OppComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == true || component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == 'true')){ objectName = 'Opportunity'; ApexClassName = 'FetchOrders'; }else if((component.get("v.SmartCount") == 'In Queue' || component.get("v.SamartComplete") == 'false' || component.get("v.SamartComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){ objectName = 'HIC_ShopifySync__Collection__c'; ApexClassName = 'FetchSmartCollection_Batch'; }else if((component.get("v.CustomCount") == 'In Queue' || component.get("v.CustomComplete") == 'false' || component.get("v.CustomComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){ objectName = 'HIC_ShopifySync__Collection__c'; ApexClassName = 'FetchCollections_Batch'; }else if((component.get("v.CollectCount") == 'In Queue' || component.get("v.CollectComplete") == 'false' || component.get("v.CollectComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){ objectName = 'HIC_ShopifySync__Collect__c'; ApexClassName = 'FetchCollects_Batch'; }else if((component.get("v.LocationCount") == 'In Queue' || component.get("v.LocationComplete") == 'false' || component.get("v.LocationComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')){ objectName = 'HIC_ShopifySync__Location__c'; ApexClassName = 'FetchLocations_Batch'; }else if((component.get("v.InventoryCount") == 'In Queue' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')){ objectName = 'HIC_ShopifySync__Inventory__c'; ApexClassName = 'FetchInventoryItems'; }else if((component.get("v.DraftOrderCount") == 'In Queue' || component.get("v.DraftOrderComplete") == 'false' || component.get("v.DraftOrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true')){ objectName = 'Draftorder'; ApexClassName = 'FetchOrders'; }else{ objectName = ''; ApexClassName = ''; } action.setParams({ 'ObjectName':objectName, 'ApexClassName':ApexClassName, 'store':component.get("v.store") }) action.setCallback(this,function(response){ result = response.getReturnValue(); console.log('result--> '+result); if(result !== 'Queue' && result !== ''){ if(result.includes('Aborted')){ var Errormessage = (result.replace("Aborted","")).trim(); if(Errormessage.includes("-job") && Errormessage.includes("aborted") ){ Errormessage = "Aborted by user or there was some system errors." } if(objectName == 'Account'|| objectName == 'contact'){ component.set("v.objectname","customers"); }else if(objectName == 'Product2'|| objectName == 'HIC_ShopifySync__Variant__c'){ component.set("v.objectname","Products and variants"); }else if(objectName == 'Order'|| objectName == 'Opportunity'){ component.set("v.objectname","order and opportunities"); }else if(objectName == 'HIC_ShopifySync__Collection__c'|| objectName == 'HIC_ShopifySync__Collect__c'){ component.set("v.objectname","collections"); }else if(objectName == 'HIC_ShopifySync__Location__c'|| objectName == 'HIC_ShopifySync__Inventory__c'){ component.set("v.objectname","locations and inventories"); } else if(objectName == 'Draftorder'){ component.set("v.objectname","Draft order "); } component.set("v.Abortederrormessage",Errormessage); component.set("v.Batchaborted",true); component.set("v.Batchabortedbox",true); // window.clearInterval(component.get("v.setinterval")); this.AbortIntervalBatchAborted(component, event, helper); }else{ if(objectName == 'Product2' && result != null && result != '' && result.includes("Completed")){ component.set("v.ProductCount",(result.toString()).replace('Completed','')); component.set("v.ProductComplete",true); component.set("v.ProgessValue",5); $A.util.addClass(component.find('progesssbar'), 'ProgressProduct'); this.AbortInterval(component, event, helper); }else if(objectName == 'Product2' && result != null && result != '' && !result.includes("Completed")){ component.set("v.ProductCount",result.toString()); } if(objectName == 'HIC_ShopifySync__Variant__c' && result != null && result != '' && result.includes("Completed")){ component.set("v.VarientCount",(result.toString()).replace('Completed','')); component.set("v.VarientComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressVariant'); component.set("v.ProgessValue",17); this.AbortInterval(component, event, helper); }else if(objectName == 'HIC_ShopifySync__Variant__c' && result != null && result != '' && !result.includes("Completed")){ component.set("v.VarientCount",result.toString()); } if(objectName == 'Account' && result != null && result != '' && result.includes("Completed")){ component.set("v.AccountCount",(result.toString()).replace('Completed','')); component.set("v.AccountComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressAccount'); component.set("v.ProgessValue",25); this.AbortInterval(component, event, helper); }else if(objectName == 'Account' && result != null && result != '' && !result.includes("Completed")){ component.set("v.AccountCount",result.toString()); } if(objectName == 'Contact' && result != null && result != '' && result.includes("Completed")){ component.set("v.ContactCount",(result.toString()).replace('Completed','')); component.set("v.ContactComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressContact'); component.set("v.ProgessValue",32); this.AbortInterval(component, event, helper); }else if(objectName == 'Contact' && result != null && result != '' && !result.includes("Completed")){ component.set("v.ContactCount",result.toString()); } if(objectName == 'Order' && result != null && result != '' && result.includes("Completed")){ component.set("v.OrderCount",(result.toString()).replace('Completed','')); component.set("v.OrderComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressOrder'); component.set("v.ProgessValue",39); this.AbortInterval(component, event, helper); }else if(objectName == 'Order' && result != null && result != '' && !result.includes("Completed")){ component.set("v.OrderCount",result.toString()); } if(objectName == 'Opportunity' && result != null && result != '' && result.includes("Completed")){ component.set("v.OppCount",(result.toString()).replace('Completed','')); component.set("v.OppComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressOpp'); component.set("v.ProgessValue",45); this.AbortInterval(component, event, helper); }else if(objectName == 'Opportunity' && result != null && result != '' && !result.includes("Completed")){ component.set("v.OppCount",result.toString()); } if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchSmartCollection_Batch' && result != null && result != '' && result.includes("Completed")){ component.set("v.SmartCount",(result.toString()).replace('Completed','')); component.set("v.SamartComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressSmart'); component.set("v.ProgessValue",48); this.AbortInterval(component, event, helper); }else if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchSmartCollection_Batch' && result != null && result != '' && !result.includes("Completed")){ component.set("v.SmartCount",result.toString()); } if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchCollections_Batch' && result != null && result != '' && result.includes("Completed")){ component.set("v.CustomCount",(result.toString()).replace('Completed','')); component.set("v.CustomComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressCustom'); component.set("v.ProgessValue",51); this.AbortInterval(component, event, helper); }else if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchCollections_Batch' && result != null && result != '' && !result.includes("Completed")){ component.set("v.CustomCount",result.toString()); } if(objectName == 'HIC_ShopifySync__Collect__c' && result != null && result != '' && result.includes("Completed")){ component.set("v.CollectCount",(result.toString()).replace('Completed','')); component.set("v.CollectComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressCollect'); component.set("v.ProgessValue",70); this.AbortInterval(component, event, helper); }else if(objectName == 'HIC_ShopifySync__Collection__c' && result != null && result != '' && !result.includes("Completed")){ component.set("v.CollectCount",result.toString()); } if(objectName == 'HIC_ShopifySync__Location__c' && result != null && result != '' && result.includes("Completed")){ component.set("v.LocationCount",(result.toString()).replace('Completed','')); component.set("v.LocationComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressLocation'); component.set("v.ProgessValue",81); this.AbortInterval(component, event, helper); }else if(objectName == 'HIC_ShopifySync__Location__c' && result != null && result != '' && !result.includes("Completed")){ component.set("v.LocationCount",result.toString()); } if(objectName == 'HIC_ShopifySync__Inventory__c' && result != null && result != '' && result.includes("Completed")){ component.set("v.InventoryCount",(result.toString()).replace('Completed','')); component.set("v.InventoryComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressInventory'); component.set("v.ProgessValue",89); this.AbortInterval(component, event, helper); }else if(objectName == 'HIC_ShopifySync__Inventory__c' && result != null && result != '' && !result.includes("Completed")){ component.set("v.InventoryCount",result.toString()); } if(objectName == 'Draftorder' && result != null && result != '' && result.includes("Completed")){ component.set("v.DraftOrderCount",(result.toString()).replace('Completed','')); component.set("v.DraftOrderComplete",true); $A.util.addClass(component.find('progesssbar'), 'ProgressDraft'); component.set("v.ProgessValue",95); }else if(objectName == 'Draftorder' && result != null && result != '' && !result.includes("Completed")){ component.set("v.DraftOrderCount",result.toString()); } } } else if(result == '' || result == undefined){ $A.util.addClass(component.find('progesssbar'), 'ProgressCompleted'); component.set("v.ProgessValue",100); component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false); $A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted'); component.set('v.ProgressMessage','Background setup finished'); this.AbortInterval(component, event, helper); } }); if(component.get("v.Batchaborted") == false && component.get("v.Batchabortedbox") == false){ if((component.get("v.IsBatchProcess") == 'true' || component.get("v.IsBatchProcess") == true ) && objectName != '' && ApexClassName != '' ){ $A.enqueueAction(action); }else{ $A.util.addClass(component.find('progesssbar'), 'ProgressCompleted'); component.set("v.ProgessValue",100); component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false); $A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted'); component.set('v.ProgressMessage','Background setup finished'); this.AbortInterval(component, event, helper); } } }catch(error){ console.log('Error Message '+ error.message + ' '+error.name ); } }, AbortIntervalBatchAborted : function(component, event, helper) { /* console.log('Batch Abort Called'); var batchabortedconfigupdate = component.get("c.batchabortedconfigupdate"); batchabortedconfigupdate.setCallback(this,function(res){ console.log('startfromthefirstpage action called'); var state = res.getState(); console.log('state'+ state); console.log('res.getReturnValue()'+ res.getReturnValue()); if(state =="SUCCESS" && res.getReturnValue() == true ){ console.log('AbortIntervalBatchAborted enterd' + component.get("v.setinterval")); var setinterval = component.get("v.setinterval"); console.log('setinterval'); window.clearInterval(setinterval); component.set("v.setinterval",1010101010010010); } }); $A.enqueueAction(batchabortedconfigupdate); */ var setinterval = component.get("v.setinterval"); window.clearInterval(setinterval); component.set("v.setinterval",1010101010010010); }, AbortInterval : function(component, event, helper) { /*var setinterval = component.get("v.setinterval"); component.set("v.setinterval",1010101010010010); window.clearInterval(setinterval); */ /* if( component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false || component.get("v.ContactComplete") == 'false' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false || component.get("v.ContactComplete") == false || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false || component.get("v.DraftOrderComplete") == false || component.get("v.DraftOrderComplete") == 'false' ) { } if( ((component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true') ) || (( component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false ) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')) || ( ( component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')) || (( component.get("v.DraftOrderComplete") == false || component.get("v.DraftOrderComplete") == 'false' ) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true') ) ){ }*/ if(((component.get("v.ProductCount") == 'In Queue' || component.get("v.ProductComplete") == 'false' || component.get("v.ProductComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')) || ((component.get("v.VarientCount") == 'In Queue' || component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && (component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')) || ((component.get("v.AccountCount") == 'In Queue' || component.get("v.AccountComplete") == 'false' || component.get("v.AccountComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')) || ((component.get("v.ContactCount") == 'In Queue' || component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')) || ((component.get("v.OrderCount") == 'In Queue' || component.get("v.OrderComplete") == 'false' || component.get("v.OrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == 'true')) || ((component.get("v.OppCount") == 'In Queue' || component.get("v.OppComplete") == 'false' || component.get("v.OppComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == true || component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == 'true')) || ((component.get("v.SmartCount") == 'In Queue' || component.get("v.SamartComplete") == 'false' || component.get("v.SamartComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')) || ((component.get("v.CustomCount") == 'In Queue' || component.get("v.CustomComplete") == 'false' || component.get("v.CustomComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')) || ((component.get("v.CollectCount") == 'In Queue' || component.get("v.CollectComplete") == 'false' || component.get("v.CollectComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')) || ((component.get("v.LocationCount") == 'In Queue' || component.get("v.LocationComplete") == 'false' || component.get("v.LocationComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')) || ((component.get("v.InventoryCount") == 'In Queue' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')) || ((component.get("v.DraftOrderCount") == 'In Queue' || component.get("v.DraftOrderComplete") == 'false' || component.get("v.DraftOrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true')) ){ var setintervalabort = component.get("v.setinterval"); window.clearInterval(setintervalabort); var dointcalled = component.get("c.doinit"); $A.enqueueAction(dointcalled); // $A.get('e.force:refreshView').fire(); }else{ $A.util.addClass(component.find('progesssbar'), 'ProgressCompleted'); component.set("v.ProgessValue",100); component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false); $A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted'); component.set('v.ProgressMessage','Background setup finished'); var setintervalabort = component.get("v.setinterval"); try{ window.clearInterval(setintervalabort); component.set("v.setinterval",1010101010010010); }catch(e){ console.log('error'); console.log(e); } } }, getConfigurationData : function( component, event ) { var action = component.get("c.getConfigration"); action.setCallback(this, function(response) { var state = response.getState(); if (state === "SUCCESS" && response.getReturnValue() != null ) { var configObj = JSON.parse( response.getReturnValue() ); component.set("v.configObj", configObj); } else if (state === "INCOMPLETE") { console.log('configuration get error'); } else if (state === "ERROR") { var errors = response.getError(); if (errors) { if (errors[0] && errors[0].message) { console.log("Error message: " + errors[0].message); } } else { console.log("Unknown error"); } } }); $A.enqueueAction(action); } })