• Pooja Singh 21
  • NEWBIE
  • 20 Points
  • Member since 2015

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 10
    Replies
Hi All,

I have written a small trigger which does not display the value from Line 6.

trigger TypeOfLienForNVOnProperty on Property__c (before insert, before update, after insert, after update) { 
    
    for(Property__c p : Trigger.new){
        if(p.Property_State__c != null && p.Property_State__c != '' && p.Property_State__c == 'NV'){
            system.debug('Value in State-->' + p.Property_State__c);
            system.debug('Value in Type of Loan-->' + p.Opportunity__r.Type_of_Loan__c);
            
            if(p.Opportunity__r.Type_of_Loan__c != null && p.Opportunity__r.Type_of_Loan__c != 'Principal & Interest'){
                system.debug('Value in Type of Loan-->' + p.Opportunity__r.Type_of_Loan__c);
                p.addError('For Nevada, only "Principal & Interest" is allowed as Type of Lien.');
            }
        }

Please help to let me know where I did wrong.
Hi,

I need help writing a batch job which can help deleting all tasks related to cases with record type 'X'. Can anyone share a dummy code for same?

Thanks,
Pooja
I find it difficult to subtract two datetime fields as it gives me arithmetic expression error. I want to use this in apex class. Please suggest how to find all case which are closed more than 18 months.
Hi All,

My test class compiles succussfully. However, I receive an error while running it. I have no idea where I have done wrong. Please help.

Class.LC_DisplayFolderElementsController.displayFolderElements: line 99, column 1
Class.LC_DisplayFolderElementsController.<init>: line 77, column 1
Class.Test_LC_DisplayFolderElementsController.myUnitTest: line 49, column 1

Apex Class Code:
public with sharing class LC_DisplayFolderElementsController {
  
  public Consumer_Inquiries__c CI;
  public Access_Token__c gats;
  public captureFileElements cfe;
  
  public list<displayAttachments> Box_Attachments{get;set;}
  public list<FileEntries> Files;
  
  public boolean displayIFrame{get;set;}
  public displayAttachments dat;
  
  
  public LC_DisplayFolderElementsController(apexpages.standardController sc){
    gats = new Access_Token__c();
    CI = new Consumer_Inquiries__c();
    cfe = new captureFileElements();
    displayIFrame = false;
    dat = new displayAttachments();
        
    Id CIID = apexpages.currentPage().getParameters().get('ID');
    CI = [Select Id, Name, RecordTypeID, Folder_ID__c, (select Id, Name, ContentType from Attachments) from Consumer_Inquiries__c Where Id =: CIID];
    
    list<RecordType> RTList = new list<RecordType>();
    RTList = [Select Id, Name from RecordType Where sObjectType = 'Consumer_Inquiries__c' and Name = 'Regulatory Complaint'];
    RecordType RCRT;
    if(RTList != Null && RTList.size() > 0){
      for(RecordType rt : RTList){
        RCRT = rt;
      }
    }
    
    gats = [Select Id, Name, Token__c, Refresh_Token__c, LastmodifiedDate From Access_Token__c];
    Box_Attachments = new list<displayAttachments>();
    Files = new list<FileEntries>();
    if(CI != Null){//Adding the Existing Attachments into list for the Specific CI 
      for(Attachment att : CI.attachments){
        dat = new displayAttachments();
        dat.Attachment_Name = att.name;
        dat.FileID = '';
        dat.location = 'Salesforce';
        string Extension;
        if(att.name != Null && att.name != ''){
          integer IndexValue= att.name.lastIndexOf('.');
          if(IndexValue > -1){
            Extension = att.name.substring(IndexValue+1,att.name.length());// to show the actual file extension from salesforce
          } 
        }
        dat.Type = Extension;
        Box_Attachments.add(dat);
      }
    }
    
    if(Box_Attachments != Null && Box_Attachments.size() > 0){
      displayIFrame = true;
    }else{
      displayIFrame = false;
    }
    
    list<Firm_s_Child__c> FolderMapList = new list<Firm_s_Child__c>();
    FolderMapList = [Select Id, Name, Box_Folder_ID__c from Firm_s_Child__c Where Reference_ID__c =: CIID and Type__c = 'Consumer Inquiry'];
    if(FolderMapList != Null && FolderMapList.size() > 0){
      displayFolderElements(FolderMapList[0].Box_Folder_ID__c);
    }else{
      ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR,'Please try after some time as the folder has not yet created.'));
    }  
  }

  public void displayFolderElements(string FolderID){//Folder Id is picked up from Box Folder ID Map Table
    HTTPResponse res = new HTTPResponse();
    HTTPRequest req = new HTTPRequest();
    gats = [Select Id, Name, Token__c, Refresh_Token__c, LastmodifiedDate From Access_Token__c];
    req.setEndpoint('https://api.box.com/2.0/folders/'+FolderID+'/items');//Request URL for Folder Elements
    req.setHeader('Authorization','Bearer '+gats.Token__c);
    req.setMethod('GET');
    HTTP getFolderItems = new HTTP();
    res = getFolderItems.send(req);//Sending the request to get the actual response
    string bodystring = res.getBody();
    system.debug('The JSON Body is'+res.getBody());
    if(res.getStatusCode() == 200){
      cfe = (captureFileElements)JSON.deserialize(bodyString,captureFileElements.class);// Parsing the above request
      Files = cfe.entries;
  
      
      for(FileEntries fe : Files)
      {////Adding the Box Files into list for the Specific CI
        string str;
        integer dotIndex;
        
        dat = new displayAttachments();
        dat.Attachment_Name = fe.name;
        dat.FileID = fe.id;
        dat.location = 'Box';
        
        if(fe.name.contains('.')){
          str = fe.name;
          dotIndex = fe.name.lastIndexOf('.');
          system.debug('The dot Index is'+dotIndex);
          system.debug('The Type could be '+str.substring(dotIndex+1,str.length()));
          string str2 = str.substring(dotIndex+1,str.length());
          dat.Type = str2;
        }
        Box_Attachments.add(dat);
        if(Box_Attachments != Null && Box_Attachments.size() > 0){
          displayIFrame = true;
        }else{
          displayIFrame = false;
        }
      }
    }else{
      ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR,'Please try after some time as the folder has not yet created.'));
    }
    system.debug('The box Attachments are'+Box_Attachments);
  }
  
  public class displayAttachments{
    public string Attachment_Name{get;set;}
    public string FileID{get;set;}
    public string Type{get;set;}
    public string location{get;set;}
    
    public displayAttachments(){
      Attachment_Name = '';
      FileID = '';
      Type = '';
      location = '';
    }
  }
  
  /* File Wrapper*/
  public class captureFileElements{
    public integer total_count;
    public list<FileEntries> entries;
    public integer offset;
    public integer limit2;
    public list<Orders> Order;
    
    public captureFileElements(){
    }
  }
  /* File Wrapper*/
  /* File Wrapper*/
  public class FileEntries{
    public string Type;
    public string id;
    public string sequence_id;
    public string etag;
    public string sha1;
    public string name;
  }
  /* File Wrapper*/
  /* File Wrapper*/
  public class orders{
    public string by1;
    public string direction;
  }
  /* File Wrapper*/
}


Test Class:
@isTest(seealldata=true)
private class Test_LC_DisplayFolderElementsController{
     static testMethod void myUnitTest(){
        List<Account> accList = new list<Account>();
        Account a = new Account();
        a.Name = 'TestAcc';
        a.Firm_ID__c = 'Test';
        insert a;
        accList.add(a);
        
        list<Attachment> AttachmentList = new list<Attachment>();
        list<Consumer_Inquiries__c> ciList = new list<Consumer_Inquiries__c>();
        list<Case> caseList = new list<Case>();
        
        caseList = LC_TestDataUtility.createCases(1);
        ciList = LC_TestDataUtility.createConsumerInquiries(accList);
        system.assertEquals(1, ciList.size());
        system.assertEquals(1, caseList.size());
        
        list<Firm_s_Child__c> fc1 = new list<Firm_s_Child__c>();
        List<Box_Folder_ID_Map__c> BoxFolderIDList = [select Actual_Firm__c, Reference_ID__c, Firm_ID__c, Type__c, Created_Date__c from Box_Folder_ID_Map__c where Actual_Firm__c =: a.id and Reference_ID__c =: a.id and Type__c = 'Account' limit 1];
        system.debug('box folder id list value-->'+BoxFolderIDList );
        Firm_Dates__c fd = new Firm_Dates__c();
        fd.Box_Folder_ID_Map__c = BoxFolderIDList[0].id;
        fd.Folder_ID__c = '098745434';
        insert fd;
        
        Firm_s_Child__c fc = new Firm_s_Child__c();
        fc.Case_Reference__c = caseList[0].id;
        fc.Consumer_Inquiries_Reference__c = ciList[0].id;
        fc.Firm_Date__c = fd.id;
        fc.Type__c = 'Consumer Inquiry';
        fc.Box_Folder_ID__c = '09875432587';
        insert fc;
                
        fc1.add(fc);
        system.debug('fc1 value-->'+fc1);
        set<Id> parentIds = new set<Id>();
        parentIds.add(ciList[0].Id);
        AttachmentList = LC_TestDataUtility.createAttachments(parentIds);
        system.debug('consumer inquiry value-->'+ciList);
        
        Test.startTest();
        LC_DisplayFolderElementsController.displayAttachments obj1 = new LC_DisplayFolderElementsController.displayAttachments();
        LC_DisplayFolderElementsController.captureFileElements obj2 = new LC_DisplayFolderElementsController.captureFileElements();
        LC_DisplayFolderElementsController.FileEntries obj3 = new LC_DisplayFolderElementsController.FileEntries();
        Apexpages.currentPage().getParameters().put('ID',ciList[0].Id);
        Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());
        if(!fc1.isEmpty()){ 
        Apexpages.standardController sc = new Apexpages.standardController(fc1[0]);
        
        LC_DisplayFolderElementsController obj = new LC_DisplayFolderElementsController(sc);
        obj.displayFolderElements(fc1[0].Box_Folder_ID__c);
        
        LC_DisplayFolderElementsController.orders obj4 = new LC_DisplayFolderElementsController.orders();
        LC_DisplayFolderElementsController.displayAttachments obj5 = new LC_DisplayFolderElementsController.displayAttachments();
        }
        Test.stopTest();
     }
}

Hi All,

I am getting this error while performing 'Run All Tests'. However, individual test classes works fine. This error is also intermittent. I am not sure how to fix this and why I'm getting this error. Can anyone help?

Hi All,

I have written a small trigger which does not display the value from Line 6.

trigger TypeOfLienForNVOnProperty on Property__c (before insert, before update, after insert, after update) { 
    
    for(Property__c p : Trigger.new){
        if(p.Property_State__c != null && p.Property_State__c != '' && p.Property_State__c == 'NV'){
            system.debug('Value in State-->' + p.Property_State__c);
            system.debug('Value in Type of Loan-->' + p.Opportunity__r.Type_of_Loan__c);
            
            if(p.Opportunity__r.Type_of_Loan__c != null && p.Opportunity__r.Type_of_Loan__c != 'Principal & Interest'){
                system.debug('Value in Type of Loan-->' + p.Opportunity__r.Type_of_Loan__c);
                p.addError('For Nevada, only "Principal & Interest" is allowed as Type of Lien.');
            }
        }

Please help to let me know where I did wrong.
Hi,

I need help writing a batch job which can help deleting all tasks related to cases with record type 'X'. Can anyone share a dummy code for same?

Thanks,
Pooja
I find it difficult to subtract two datetime fields as it gives me arithmetic expression error. I want to use this in apex class. Please suggest how to find all case which are closed more than 18 months.
Hi All,

My test class compiles succussfully. However, I receive an error while running it. I have no idea where I have done wrong. Please help.

Class.LC_DisplayFolderElementsController.displayFolderElements: line 99, column 1
Class.LC_DisplayFolderElementsController.<init>: line 77, column 1
Class.Test_LC_DisplayFolderElementsController.myUnitTest: line 49, column 1

Apex Class Code:
public with sharing class LC_DisplayFolderElementsController {
  
  public Consumer_Inquiries__c CI;
  public Access_Token__c gats;
  public captureFileElements cfe;
  
  public list<displayAttachments> Box_Attachments{get;set;}
  public list<FileEntries> Files;
  
  public boolean displayIFrame{get;set;}
  public displayAttachments dat;
  
  
  public LC_DisplayFolderElementsController(apexpages.standardController sc){
    gats = new Access_Token__c();
    CI = new Consumer_Inquiries__c();
    cfe = new captureFileElements();
    displayIFrame = false;
    dat = new displayAttachments();
        
    Id CIID = apexpages.currentPage().getParameters().get('ID');
    CI = [Select Id, Name, RecordTypeID, Folder_ID__c, (select Id, Name, ContentType from Attachments) from Consumer_Inquiries__c Where Id =: CIID];
    
    list<RecordType> RTList = new list<RecordType>();
    RTList = [Select Id, Name from RecordType Where sObjectType = 'Consumer_Inquiries__c' and Name = 'Regulatory Complaint'];
    RecordType RCRT;
    if(RTList != Null && RTList.size() > 0){
      for(RecordType rt : RTList){
        RCRT = rt;
      }
    }
    
    gats = [Select Id, Name, Token__c, Refresh_Token__c, LastmodifiedDate From Access_Token__c];
    Box_Attachments = new list<displayAttachments>();
    Files = new list<FileEntries>();
    if(CI != Null){//Adding the Existing Attachments into list for the Specific CI 
      for(Attachment att : CI.attachments){
        dat = new displayAttachments();
        dat.Attachment_Name = att.name;
        dat.FileID = '';
        dat.location = 'Salesforce';
        string Extension;
        if(att.name != Null && att.name != ''){
          integer IndexValue= att.name.lastIndexOf('.');
          if(IndexValue > -1){
            Extension = att.name.substring(IndexValue+1,att.name.length());// to show the actual file extension from salesforce
          } 
        }
        dat.Type = Extension;
        Box_Attachments.add(dat);
      }
    }
    
    if(Box_Attachments != Null && Box_Attachments.size() > 0){
      displayIFrame = true;
    }else{
      displayIFrame = false;
    }
    
    list<Firm_s_Child__c> FolderMapList = new list<Firm_s_Child__c>();
    FolderMapList = [Select Id, Name, Box_Folder_ID__c from Firm_s_Child__c Where Reference_ID__c =: CIID and Type__c = 'Consumer Inquiry'];
    if(FolderMapList != Null && FolderMapList.size() > 0){
      displayFolderElements(FolderMapList[0].Box_Folder_ID__c);
    }else{
      ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR,'Please try after some time as the folder has not yet created.'));
    }  
  }

  public void displayFolderElements(string FolderID){//Folder Id is picked up from Box Folder ID Map Table
    HTTPResponse res = new HTTPResponse();
    HTTPRequest req = new HTTPRequest();
    gats = [Select Id, Name, Token__c, Refresh_Token__c, LastmodifiedDate From Access_Token__c];
    req.setEndpoint('https://api.box.com/2.0/folders/'+FolderID+'/items');//Request URL for Folder Elements
    req.setHeader('Authorization','Bearer '+gats.Token__c);
    req.setMethod('GET');
    HTTP getFolderItems = new HTTP();
    res = getFolderItems.send(req);//Sending the request to get the actual response
    string bodystring = res.getBody();
    system.debug('The JSON Body is'+res.getBody());
    if(res.getStatusCode() == 200){
      cfe = (captureFileElements)JSON.deserialize(bodyString,captureFileElements.class);// Parsing the above request
      Files = cfe.entries;
  
      
      for(FileEntries fe : Files)
      {////Adding the Box Files into list for the Specific CI
        string str;
        integer dotIndex;
        
        dat = new displayAttachments();
        dat.Attachment_Name = fe.name;
        dat.FileID = fe.id;
        dat.location = 'Box';
        
        if(fe.name.contains('.')){
          str = fe.name;
          dotIndex = fe.name.lastIndexOf('.');
          system.debug('The dot Index is'+dotIndex);
          system.debug('The Type could be '+str.substring(dotIndex+1,str.length()));
          string str2 = str.substring(dotIndex+1,str.length());
          dat.Type = str2;
        }
        Box_Attachments.add(dat);
        if(Box_Attachments != Null && Box_Attachments.size() > 0){
          displayIFrame = true;
        }else{
          displayIFrame = false;
        }
      }
    }else{
      ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR,'Please try after some time as the folder has not yet created.'));
    }
    system.debug('The box Attachments are'+Box_Attachments);
  }
  
  public class displayAttachments{
    public string Attachment_Name{get;set;}
    public string FileID{get;set;}
    public string Type{get;set;}
    public string location{get;set;}
    
    public displayAttachments(){
      Attachment_Name = '';
      FileID = '';
      Type = '';
      location = '';
    }
  }
  
  /* File Wrapper*/
  public class captureFileElements{
    public integer total_count;
    public list<FileEntries> entries;
    public integer offset;
    public integer limit2;
    public list<Orders> Order;
    
    public captureFileElements(){
    }
  }
  /* File Wrapper*/
  /* File Wrapper*/
  public class FileEntries{
    public string Type;
    public string id;
    public string sequence_id;
    public string etag;
    public string sha1;
    public string name;
  }
  /* File Wrapper*/
  /* File Wrapper*/
  public class orders{
    public string by1;
    public string direction;
  }
  /* File Wrapper*/
}


Test Class:
@isTest(seealldata=true)
private class Test_LC_DisplayFolderElementsController{
     static testMethod void myUnitTest(){
        List<Account> accList = new list<Account>();
        Account a = new Account();
        a.Name = 'TestAcc';
        a.Firm_ID__c = 'Test';
        insert a;
        accList.add(a);
        
        list<Attachment> AttachmentList = new list<Attachment>();
        list<Consumer_Inquiries__c> ciList = new list<Consumer_Inquiries__c>();
        list<Case> caseList = new list<Case>();
        
        caseList = LC_TestDataUtility.createCases(1);
        ciList = LC_TestDataUtility.createConsumerInquiries(accList);
        system.assertEquals(1, ciList.size());
        system.assertEquals(1, caseList.size());
        
        list<Firm_s_Child__c> fc1 = new list<Firm_s_Child__c>();
        List<Box_Folder_ID_Map__c> BoxFolderIDList = [select Actual_Firm__c, Reference_ID__c, Firm_ID__c, Type__c, Created_Date__c from Box_Folder_ID_Map__c where Actual_Firm__c =: a.id and Reference_ID__c =: a.id and Type__c = 'Account' limit 1];
        system.debug('box folder id list value-->'+BoxFolderIDList );
        Firm_Dates__c fd = new Firm_Dates__c();
        fd.Box_Folder_ID_Map__c = BoxFolderIDList[0].id;
        fd.Folder_ID__c = '098745434';
        insert fd;
        
        Firm_s_Child__c fc = new Firm_s_Child__c();
        fc.Case_Reference__c = caseList[0].id;
        fc.Consumer_Inquiries_Reference__c = ciList[0].id;
        fc.Firm_Date__c = fd.id;
        fc.Type__c = 'Consumer Inquiry';
        fc.Box_Folder_ID__c = '09875432587';
        insert fc;
                
        fc1.add(fc);
        system.debug('fc1 value-->'+fc1);
        set<Id> parentIds = new set<Id>();
        parentIds.add(ciList[0].Id);
        AttachmentList = LC_TestDataUtility.createAttachments(parentIds);
        system.debug('consumer inquiry value-->'+ciList);
        
        Test.startTest();
        LC_DisplayFolderElementsController.displayAttachments obj1 = new LC_DisplayFolderElementsController.displayAttachments();
        LC_DisplayFolderElementsController.captureFileElements obj2 = new LC_DisplayFolderElementsController.captureFileElements();
        LC_DisplayFolderElementsController.FileEntries obj3 = new LC_DisplayFolderElementsController.FileEntries();
        Apexpages.currentPage().getParameters().put('ID',ciList[0].Id);
        Test.setMock(HttpCalloutMock.class, new MockHttpResponseGenerator());
        if(!fc1.isEmpty()){ 
        Apexpages.standardController sc = new Apexpages.standardController(fc1[0]);
        
        LC_DisplayFolderElementsController obj = new LC_DisplayFolderElementsController(sc);
        obj.displayFolderElements(fc1[0].Box_Folder_ID__c);
        
        LC_DisplayFolderElementsController.orders obj4 = new LC_DisplayFolderElementsController.orders();
        LC_DisplayFolderElementsController.displayAttachments obj5 = new LC_DisplayFolderElementsController.displayAttachments();
        }
        Test.stopTest();
     }
}

Hi All,

I am getting this error while performing 'Run All Tests'. However, individual test classes works fine. This error is also intermittent. I am not sure how to fix this and why I'm getting this error. Can anyone help?