Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class InsertDataInToNewShopCtrl{
- public InsertDataInToNewShopCtrl(){
- }
- Map<String,Id> testMap = new Map<String,Id>();
- Map<Id,Shop_New__c> shopObjs = null;
- public PageReference GoToInse() {
- try{
- HttpRequest req= new HttpRequest();
- Http http = new Http();
- req.setMethod('GET');
- String url = 'http://iprocureafrica.co/index.php/restApi/shop_c/3';
- req.setEndpoint(url);
- HttpResponse res = http.send(req);
- String json = res.getBody().replace('n','');
- parseJSON(json);
- shopObjs = new Map<Id,Shop_New__c>([Select id,Shop_ID__c from Shop_New__c where Shop_ID__c IN : shopIds]);
- for (ID idKey : shopObjs.keyset())
- {
- Shop_New__c objShop = shopObjs.get(idKey);
- testMap.put(objShop.Shop_ID__c, idKey);
- }
- mapShopFields();
- }
- catch(Exception e ){
- Apexpages.addMessages(e);
- }
- return null;
- }
- public List<WrapperClass> wrappers{get;set;}
- Public String size{get;set;}
- list<string> shopIds = new list<string>();
- public void mapShopFields(){
- List<Shop_New__c> shopRecords = new List<Shop_New__c>(); // object list
- for(WrapperClass wc:wrappers)
- {
- Shop_New__c shp = new Shop_New__c (); // object instance with memory allocation.
- // field mapping
- if(testMap.containsKey(wc.id)){
- shp.Id = testMap.get(wc.id);
- }
- shp.Shop_ID__c= wc.id;
- shp.Name = wc.name;
- shp.Email__c = wc.email ;
- shp.Supplier_ID__c = wc.supplierid;
- // shp.User_Name__c = wc.username;
- //shp.Password__c = wc.password ;
- // shp.Pin__c = wc.pin;
- //shp.Location__c = wc.location ;
- //shp.Telephone__c = wc.telephone ;
- //shp.Gender__c = wc.gender ;
- //shp.Type__c = wc.type ;
- // shp.Last_Login__c = wc.lastLogin ;
- // shp.Create_Time__c = wc.createtime ;
- //shp.Salesforce_Status__c = wc.salesforcestatus ;
- shopRecords.add(shp); // add to list
- //List<Shop_New__c> spList = [select id from Shop_New__c limit 2000]
- }
- If(shopRecords .size() > 0 ) // check list size
- {
- upsert shopRecords ; // insert list.
- }
- }
- public void parseJSON(String jsonstr){
- if (jsonstr != null){
- wrappers= new List<WrapperClass>();
- JSONParser parser = JSON.createParser(jsonstr);
- while (parser.nextToken() != null)
- {
- if (parser.getCurrentToken() == JSONToken.START_ARRAY)
- {
- while (parser.nextToken() != JSONToken.END_ARRAY)
- {
- if (parser.getCurrentToken() == JSONToken.START_OBJECT)
- {
- WrapperClass ci = new WrapperClass();
- while (parser.nextToken() != JSONToken.END_OBJECT)
- {
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'id'))
- {
- parser.nextToken();
- ci.id = parser.getText();
- shopIds.add(ci.id);
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'Name'))
- {
- parser.nextToken();
- ci.Name = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'Username'))
- {
- parser.nextToken() ;
- ci.Username = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'Password'))
- {
- parser.nextToken() ;
- ci.Password = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'supplierid'))
- {
- parser.nextToken() ;
- ci.supplierid = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'pin'))
- {
- parser.nextToken() ;
- ci.pin = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'location'))
- {
- parser.nextToken() ;
- ci.location = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'telephone'))
- {
- parser.nextToken() ;
- ci.telephone = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'email'))
- {
- parser.nextToken() ;
- ci.email = parser.getText();
- // ci.email = 'test@gmail.com';
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'gender'))
- {
- parser.nextToken() ;
- ci.gender = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'type'))
- {
- parser.nextToken() ;
- ci.type = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'lastLogin'))
- {
- parser.nextToken() ;
- ci.lastLogin= parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'createtime'))
- {
- parser.nextToken() ;
- ci.createtime = parser.getText();
- }
- if((parser.getCurrentToken() == JSONToken.FIELD_NAME) &&(parser.getText().tolowercase() == 'salesforcestatus'))
- {
- parser.nextToken() ;
- ci.salesforcestatus = parser.getText();
- }
- }
- wrappers.add(ci);
- }
- }
- }
- }
- }
- }
- public class WrapperClass{
- public string id {get;set;}
- public string name {get;set;}
- public string username{get;set;}
- public string password{get;set;}
- public string supplierid {get;set;}
- public string pin{get;set;}
- public string location{get;set;}
- public string telephone{get;set;}
- public string email{get;set;}
- public string gender{get;set;}
- public string type{get;set;}
- public string lastLogin{get;set;}
- public string createtime{get;set;}
- public string salesforcestatus{get;set;}
- public WrapperClass(){
- }
- }
- }
- private void parseJSON(String jsonstr){
- if (jsonstr != null) {
- wrappers = (List<WrapperClass>) JSON.deserialize(jsonstr, List<WrapperClass>.class);
- } else {
- wrappers = new List<WrapperClass>();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement