• kotesh arudra
  • NEWBIE
  • 0 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 4
    Replies
public with sharing class Sendliteraturecontroller {
    @AuraEnabled
    public static list <campaign> fetchcampaign() {
        list < campaign > returnCamList = new List < campaign > ();
        List <campaign> lstCam = [SELECT id,Name,Description,LiteratureID__c,TemporarilyUnavailable__c From campaign];
       
        for (campaign c: lstCam) {
            returnCamList.add(c);
           
        }
        return lstCam;
    }
    @AuraEnabled
    public static List < String > createRecords(List < String > lstRecordId,id leadid) {
        List < String > oErrorMsg = new List < String > ();
        lead  l = [select id,name,description,phone,email,OwnerId from lead where id=:leadid limit 1];
        list<CampaignMember> cm = new list<CampaignMember>();
        list<campaign> camps = [select  id,Name,LiteratureID__c,TemporarilyUnavailable__c,Description from campaign where id in:lstRecordId];
        list<CampaignMember> members =[SELECT id, LeadId ,CampaignId  FROM  CampaignMember where LeadId=:leadid];
         User u =[select id,name from user where name = 'Marry wader' limit 1];
        id recordtype=[Select id from RecordType where sObjectType = 'task' and developerName ='Literature_Fulfillment' ].id;
        list<id> matched = new list<id>();
        list<task> tasks = new list<task>();
       
        for(CampaignMember me :members){
            matched.add(me.CampaignId);
        }
        for(campaign cam :camps){
            if(!matched.contains(cam.id)){
                cm.add(new CampaignMember(CampaignId = cam.id,leadid = l.id)); 
                task t = new task();
                t.RecordTypeId =recordtype;
                t.Type = 'Literature Fulfillment';
            t.WhoId = l.Id;
            t.OwnerId = u.Id;
            t.Subject = 'Lead requirement Comment';
            t.Priority = 'Normal';
            t.Status = 'Not Started';
            t.Description = t.Subject+''+cam.Name;
                
             tasks.add(t);   
            }
        } 
       
        

         try{
            
             insert tasks; 
        }catch (dmlexception ex){
            system.debug(' Task cannot be created'+ex.getCause()); 
        }
        
        
        Database.saveResult[] DR_Dels = Database.insert(cm, false);
        for (Database.saveResult dr: DR_Dels) {
            if (dr.isSuccess()) {
                system.debug('successfully created campaign');
            } else {
                oErrorMsg.add('');
                for (Database.Error err: dr.getErrors()) {
                    
                    oErrorMsg.add(err.getStatusCode() + ': ' + err.getMessage());
                }
            }
        }
        return oErrorMsg;
    }
    
}
VF page:

<apex:page controller="Pageblockrefreshclass">
    <apex:form >
        <apex:pageBlock title="Refresh me only">
           Name: <apex:inputText value="{!Name}"/>
           Phone: <apex:inputText value="{!Phone}"/>
        </apex:pageBlock>
    <apex:commandButton value="Refresh" id="checkBtn" onclick="doUiCheck();return false;"/>
<apex:actionFunction name="actionDoCheck" action="{!doCheck}"  rerender="infoPanel"/>
        </apex:form>
</apex:page>

Apex Controller:

public class Pageblockrefreshclass {
    public String Name{set;get;}
    public String Phone{set;get;}
    
    public void docheck(){
        
    }

}
public with sharing class Sendliteraturecontroller {
    @AuraEnabled
    public static list <campaign> fetchcampaign() {
        list < campaign > returnCamList = new List < campaign > ();
        List <campaign> lstCam = [SELECT id,Name,Description,LiteratureID__c,TemporarilyUnavailable__c From campaign];
       
        for (campaign c: lstCam) {
            returnCamList.add(c);
           
        }
        return lstCam;
    }
    @AuraEnabled
    public static List < String > createRecords(List < String > lstRecordId,id leadid) {
        List < String > oErrorMsg = new List < String > ();
        lead  l = [select id,name,description,phone,email,OwnerId from lead where id=:leadid limit 1];
        list<CampaignMember> cm = new list<CampaignMember>();
        list<campaign> camps = [select  id,Name,LiteratureID__c,TemporarilyUnavailable__c,Description from campaign where id in:lstRecordId];
        list<CampaignMember> members =[SELECT id, LeadId ,CampaignId  FROM  CampaignMember where LeadId=:leadid];
         User u =[select id,name from user where name = 'Marry wader' limit 1];
        id recordtype=[Select id from RecordType where sObjectType = 'task' and developerName ='Literature_Fulfillment' ].id;
        list<id> matched = new list<id>();
        list<task> tasks = new list<task>();
       
        for(CampaignMember me :members){
            matched.add(me.CampaignId);
        }
        for(campaign cam :camps){
            if(!matched.contains(cam.id)){
                cm.add(new CampaignMember(CampaignId = cam.id,leadid = l.id)); 
                task t = new task();
                t.RecordTypeId =recordtype;
                t.Type = 'Literature Fulfillment';
            t.WhoId = l.Id;
            t.OwnerId = u.Id;
            t.Subject = 'Lead requirement Comment';
            t.Priority = 'Normal';
            t.Status = 'Not Started';
            t.Description = t.Subject+''+cam.Name;
                
             tasks.add(t);   
            }
        } 
       
        

         try{
            
             insert tasks; 
        }catch (dmlexception ex){
            system.debug(' Task cannot be created'+ex.getCause()); 
        }
        
        
        Database.saveResult[] DR_Dels = Database.insert(cm, false);
        for (Database.saveResult dr: DR_Dels) {
            if (dr.isSuccess()) {
                system.debug('successfully created campaign');
            } else {
                oErrorMsg.add('');
                for (Database.Error err: dr.getErrors()) {
                    
                    oErrorMsg.add(err.getStatusCode() + ': ' + err.getMessage());
                }
            }
        }
        return oErrorMsg;
    }
    
}

Please help, I am new to developing / Apex code and am trying to set up a trigger to update a picklist field (on an Activity)based on a different Object's picklist entry (User) - the ultimate aim is to set colours in a dashboard the same in two different objects - Activities and Opportunities...

 

I am getting the following error:

Error: Compile Error: Invalid bind expression type of SOBJECT:User for column of type String at line 3 column 92

 

And honestly I have no clue what I need to do to fix this...!

 

Here is my first attempt:

 

trigger UpdateDepartmentPicklist on Task (before update){
        for(Task tsk : Trigger.new){
        List<User> listUse = [Select Department_picklist__c from User where Owner_ID__c =: tsk.CreatedBy];  for
    (User use : listUse){
       Tsk.Owner_Department_Picklist__c = Use.Department_picklist__c;
            }
    update listUse;
     }  
}       

 

 

Many thanks for any assistance or tips!

Cheers,

Kelly