You need to sign in to do that
Don't have an account?
Varun Annadata
Help with updating Sobject
Apex class:
public class SkipMilestone
{
//wrapper objwrapper;
//System.debug('paramValue:'+paramValue);
public List<wrapper> lst{get;set;}
//List<wrapper> lstwrapper=new List<wrapper>();
// public integer rowIndex{get;set;}
public Program_Member_MVN__c Pm;
public SkipMilestone(ApexPages.StandardController controller){
Pm = (Program_Member_MVN__c)controller.getRecord();
lst = new list<wrapper>();
//Program_Stage_MVN__c Ps=[select Is_Parent_Stage_MVN__c from Program_Stage_MVN__c where Program_Member__c=:Pm.id];
//Program_Member_Stage_MVN__c Pm=[select Program_Stage_Name_MVN__c,(select id,Parent_Stage_MVN__c from Program_Member_Stages__r) from Program_Member_Stage_MVN__c where Program_Member_MVN__c=:Pm.id];
//for(Program_Member_Stage_MVN__c exclude:Program_Member_Stages__r){
List<Program_Member_Stage_MVN__c>Pms =[select id,Name,Parent_Program_Member_Stage_MVN__c,Program_Stage_MVN__c,Status_MVN__c,Program_Stage_Name_MVN__c,Stage_Sequence_Number_MVN__c,Activity_Sequence_Number_CTS__c,Parent_Program_Stage__c from Program_Member_Stage_MVN__c where Program_Member_MVN__c=:Pm.id and Status_MVN__c='Not Started' and Parent_Stage__c !='Parent_Stage_MVN' order by Stage_Number__c desc];
for(integer i=0;i<Pms.size();i++)
{
wrapper objwrapper=new wrapper();
objwrapper.Pmm =Pms[i];
//objwrapper.selected = false;
//objwrapper.rowNo = lst.size();
lst.add(objwrapper);
}
}
public Id paramValue{get;set;}
public PageReference savemethid(){
System.debug('paramValue:'+paramValue);
//wrapper objProgramWrapper = new wrapper();
//objProgramWrapper.Pmm.Id = this.paramValue;
// string Value= System.currentPageReference().getParameters().get('paramValue');
//Program_Member_Stage_MVN__c IdGet= new Program_Member_Stage_MVN__c();
//IdGet.id=this.paramValue;
List<Program_Member_Stage_MVN__c> Ref2=new List<Program_Member_Stage_MVN__c>();
Program_Member_Stage_MVN__c StageSequence=[select Activity_Sequence_Number_CTS__c from Program_Member_Stage_MVN__c where id =: paramValue];
System.debug('StageSequence:'+StageSequence);
//Program_Stage_MVN__c StageSequence1=[select
//Map<id,Program_Member_Stage_MVN__c>ParentStage=new Map<id,Program_Member_Stage_MVN__c>([select Parent_Program_Member_Stage_MVN__c from Program_Member_Stage_MVN__c where id=:paramValue]);
List<Program_Member_Stage_MVN__c> ParentStage=new List<Program_Member_Stage_MVN__c>([select Parent_Program_Member_Stage_MVN__c from Program_Member_Stage_MVN__c where id=:paramValue]);
Map<string,Program_Member_Stage_MVN__c>ProgramMemberIds = new Map<string,Program_Member_Stage_MVN__c>();
for(Program_Member_Stage_MVN__c a: ParentStage)
ProgramMemberIds.put(a.Parent_Program_Member_Stage_MVN__c ,a);
Set<string> ProgramMemberIds1=ProgramMemberIds.keyset();
system.debug('ProgramMemberIds1:'+ProgramMemberIds1);
for(Program_Member_Stage_MVN__c ChildStages:[select Name,Stage_Number__c,(select id,name,Status_MVN__c,Stage_Sequence_Number_MVN__c,Program_Stage_MVN__c,Activity_Sequence_Number_CTS__c from Program_Member_Stages__r) from Program_Member_Stage_MVN__c where id=:ProgramMemberIds1]){
List<Program_Member_Stage_MVN__c>ProgramStage=new List<Program_Member_Stage_MVN__c>([select Program_Stage_MVN__c from Program_Member_Stage_MVN__c where id=:paramValue]);
Map<string,Program_Member_Stage_MVN__c>ProgramIds = new Map<string,Program_Member_Stage_MVN__c>();
for(Program_Member_Stage_MVN__c b: ProgramStage)
ProgramIds.put(b.Program_Stage_MVN__c ,b);
Set<String> ProgramIds1 = ProgramIds.keySet();
system.debug('ProgramIds1 :'+ProgramIds1 );
List<Program_Stage_MVN__c> ParentStage1 =new List<Program_Stage_MVN__c>([select Parent_Stage_MVN__c from Program_Stage_MVN__c where id=:ProgramIds1]);
Map<string,Program_Stage_MVN__c>ParentIds= new Map<string,Program_Stage_MVN__c>();
for(Program_Stage_MVN__c c: ParentStage1 )
ParentIds.put(c.Parent_Stage_MVN__c ,c);
Set<string>ParentIds1=ParentIds.keySet();
system.debug('ParentIds1:'+ParentIds1);
for(Program_Stage_MVN__c childStages1:[select Name,(select id,Name,Stage_Sequence_Number_MVN__c,Activity_Sequence_Number_CTS__c from Child_Stages_MVN__r) from Program_Stage_MVN__c where id=:ParentIds1]){
system.debug('ChildStages:'+ChildStages.Program_Member_Stages__r);
system.debug('childStages1:'+childStages1);
for(Program_Member_Stage_MVN__c ref : ChildStages.Program_Member_Stages__r){
for(Program_Stage_MVN__c ref1 : childStages1.Child_Stages_MVN__r){
List<Program_Member_Stage_MVN__c> Pstages=[select id,Stage_Number__c,Parent_Stage__c,Status_MVN__c from Program_Member_Stage_MVN__c where Program_Member_MVN__c=:Pm.id and Parent_Stage__c='Parent_Stage_MVN'];
//for(Program_Member_Stage_MVN__c re1 : Pstages){
for(Program_Member_Stage_MVN__c re1 : Pstages){
system.debug('Pstages:'+Pstages);
if(ref.Program_Stage_MVN__c == ref1.id && ref.Status_MVN__c!='Started' && ref.Activity_Sequence_Number_CTS__c==StageSequence.Activity_Sequence_Number_CTS__c){
ref.Status_MVN__c='Started';
}
if(ref.Program_Stage_MVN__c == ref1.id && ref.Status_MVN__c!='Started' && ref.Activity_Sequence_Number_CTS__c<StageSequence.Activity_Sequence_Number_CTS__c) {
ref.Status_MVN__c='Completed';
}
Ref2.add(ref);
if(re1.Stage_Number__c<ChildStages.Stage_Number__c){
re1.Status_MVN__c='Completed';
}
Ref2.add(re1);
}
}
}
}
}
set<Program_Member_Stage_MVN__c> dedupSet = new set<Program_Member_Stage_MVN__c>();
dedupSet.addAll(Ref2);
List<Program_Member_Stage_MVN__c> dedupList = new List<Program_Member_Stage_MVN__c>();
dedupList.addAll(dedupSet);
Update dedupList;
//Update Ref2;
//System.debug('Ref2:'+Ref2);
pagereference ref3 = new pagereference('/apex/Final_Message');
ref3.setredirect(true);
return ref3;
//integer i;
// for(i=0;i<lst.size();i++){
// if(lst[i].selected == true){
// lst[i].Pmm.Status_MVN__c='Started';
// }
//update lst[i].Pmm;
//
// update lst[i].Pmm;
/* pagereference ref = new pagereference('/apex/Milestone_skip');
ref.setredirect(true);
return ref;*/
}
public class wrapper{
public Program_Member_Stage_MVN__c Pmm{get;set;}
public string paramValue{get;set;}
// public integer rowNo {get;set;}
//public boolean isEdit{get;set;}
// public Boolean selected {get;set;}
}
}
I need help at this part:
Ref2.add(ref);
if(re1.Stage_Number__c<ChildStages.Stage_Number__c){
re1.Status_MVN__c='Completed';
}
Ref2.add(re1);
}
}
}
is it the correct way of adding different lists into one list and updating sobject?
public class SkipMilestone
{
//wrapper objwrapper;
//System.debug('paramValue:'+paramValue);
public List<wrapper> lst{get;set;}
//List<wrapper> lstwrapper=new List<wrapper>();
// public integer rowIndex{get;set;}
public Program_Member_MVN__c Pm;
public SkipMilestone(ApexPages.StandardController controller){
Pm = (Program_Member_MVN__c)controller.getRecord();
lst = new list<wrapper>();
//Program_Stage_MVN__c Ps=[select Is_Parent_Stage_MVN__c from Program_Stage_MVN__c where Program_Member__c=:Pm.id];
//Program_Member_Stage_MVN__c Pm=[select Program_Stage_Name_MVN__c,(select id,Parent_Stage_MVN__c from Program_Member_Stages__r) from Program_Member_Stage_MVN__c where Program_Member_MVN__c=:Pm.id];
//for(Program_Member_Stage_MVN__c exclude:Program_Member_Stages__r){
List<Program_Member_Stage_MVN__c>Pms =[select id,Name,Parent_Program_Member_Stage_MVN__c,Program_Stage_MVN__c,Status_MVN__c,Program_Stage_Name_MVN__c,Stage_Sequence_Number_MVN__c,Activity_Sequence_Number_CTS__c,Parent_Program_Stage__c from Program_Member_Stage_MVN__c where Program_Member_MVN__c=:Pm.id and Status_MVN__c='Not Started' and Parent_Stage__c !='Parent_Stage_MVN' order by Stage_Number__c desc];
for(integer i=0;i<Pms.size();i++)
{
wrapper objwrapper=new wrapper();
objwrapper.Pmm =Pms[i];
//objwrapper.selected = false;
//objwrapper.rowNo = lst.size();
lst.add(objwrapper);
}
}
public Id paramValue{get;set;}
public PageReference savemethid(){
System.debug('paramValue:'+paramValue);
//wrapper objProgramWrapper = new wrapper();
//objProgramWrapper.Pmm.Id = this.paramValue;
// string Value= System.currentPageReference().getParameters().get('paramValue');
//Program_Member_Stage_MVN__c IdGet= new Program_Member_Stage_MVN__c();
//IdGet.id=this.paramValue;
List<Program_Member_Stage_MVN__c> Ref2=new List<Program_Member_Stage_MVN__c>();
Program_Member_Stage_MVN__c StageSequence=[select Activity_Sequence_Number_CTS__c from Program_Member_Stage_MVN__c where id =: paramValue];
System.debug('StageSequence:'+StageSequence);
//Program_Stage_MVN__c StageSequence1=[select
//Map<id,Program_Member_Stage_MVN__c>ParentStage=new Map<id,Program_Member_Stage_MVN__c>([select Parent_Program_Member_Stage_MVN__c from Program_Member_Stage_MVN__c where id=:paramValue]);
List<Program_Member_Stage_MVN__c> ParentStage=new List<Program_Member_Stage_MVN__c>([select Parent_Program_Member_Stage_MVN__c from Program_Member_Stage_MVN__c where id=:paramValue]);
Map<string,Program_Member_Stage_MVN__c>ProgramMemberIds = new Map<string,Program_Member_Stage_MVN__c>();
for(Program_Member_Stage_MVN__c a: ParentStage)
ProgramMemberIds.put(a.Parent_Program_Member_Stage_MVN__c ,a);
Set<string> ProgramMemberIds1=ProgramMemberIds.keyset();
system.debug('ProgramMemberIds1:'+ProgramMemberIds1);
for(Program_Member_Stage_MVN__c ChildStages:[select Name,Stage_Number__c,(select id,name,Status_MVN__c,Stage_Sequence_Number_MVN__c,Program_Stage_MVN__c,Activity_Sequence_Number_CTS__c from Program_Member_Stages__r) from Program_Member_Stage_MVN__c where id=:ProgramMemberIds1]){
List<Program_Member_Stage_MVN__c>ProgramStage=new List<Program_Member_Stage_MVN__c>([select Program_Stage_MVN__c from Program_Member_Stage_MVN__c where id=:paramValue]);
Map<string,Program_Member_Stage_MVN__c>ProgramIds = new Map<string,Program_Member_Stage_MVN__c>();
for(Program_Member_Stage_MVN__c b: ProgramStage)
ProgramIds.put(b.Program_Stage_MVN__c ,b);
Set<String> ProgramIds1 = ProgramIds.keySet();
system.debug('ProgramIds1 :'+ProgramIds1 );
List<Program_Stage_MVN__c> ParentStage1 =new List<Program_Stage_MVN__c>([select Parent_Stage_MVN__c from Program_Stage_MVN__c where id=:ProgramIds1]);
Map<string,Program_Stage_MVN__c>ParentIds= new Map<string,Program_Stage_MVN__c>();
for(Program_Stage_MVN__c c: ParentStage1 )
ParentIds.put(c.Parent_Stage_MVN__c ,c);
Set<string>ParentIds1=ParentIds.keySet();
system.debug('ParentIds1:'+ParentIds1);
for(Program_Stage_MVN__c childStages1:[select Name,(select id,Name,Stage_Sequence_Number_MVN__c,Activity_Sequence_Number_CTS__c from Child_Stages_MVN__r) from Program_Stage_MVN__c where id=:ParentIds1]){
system.debug('ChildStages:'+ChildStages.Program_Member_Stages__r);
system.debug('childStages1:'+childStages1);
for(Program_Member_Stage_MVN__c ref : ChildStages.Program_Member_Stages__r){
for(Program_Stage_MVN__c ref1 : childStages1.Child_Stages_MVN__r){
List<Program_Member_Stage_MVN__c> Pstages=[select id,Stage_Number__c,Parent_Stage__c,Status_MVN__c from Program_Member_Stage_MVN__c where Program_Member_MVN__c=:Pm.id and Parent_Stage__c='Parent_Stage_MVN'];
//for(Program_Member_Stage_MVN__c re1 : Pstages){
for(Program_Member_Stage_MVN__c re1 : Pstages){
system.debug('Pstages:'+Pstages);
if(ref.Program_Stage_MVN__c == ref1.id && ref.Status_MVN__c!='Started' && ref.Activity_Sequence_Number_CTS__c==StageSequence.Activity_Sequence_Number_CTS__c){
ref.Status_MVN__c='Started';
}
if(ref.Program_Stage_MVN__c == ref1.id && ref.Status_MVN__c!='Started' && ref.Activity_Sequence_Number_CTS__c<StageSequence.Activity_Sequence_Number_CTS__c) {
ref.Status_MVN__c='Completed';
}
Ref2.add(ref);
if(re1.Stage_Number__c<ChildStages.Stage_Number__c){
re1.Status_MVN__c='Completed';
}
Ref2.add(re1);
}
}
}
}
}
set<Program_Member_Stage_MVN__c> dedupSet = new set<Program_Member_Stage_MVN__c>();
dedupSet.addAll(Ref2);
List<Program_Member_Stage_MVN__c> dedupList = new List<Program_Member_Stage_MVN__c>();
dedupList.addAll(dedupSet);
Update dedupList;
//Update Ref2;
//System.debug('Ref2:'+Ref2);
pagereference ref3 = new pagereference('/apex/Final_Message');
ref3.setredirect(true);
return ref3;
//integer i;
// for(i=0;i<lst.size();i++){
// if(lst[i].selected == true){
// lst[i].Pmm.Status_MVN__c='Started';
// }
//update lst[i].Pmm;
//
// update lst[i].Pmm;
/* pagereference ref = new pagereference('/apex/Milestone_skip');
ref.setredirect(true);
return ref;*/
}
public class wrapper{
public Program_Member_Stage_MVN__c Pmm{get;set;}
public string paramValue{get;set;}
// public integer rowNo {get;set;}
//public boolean isEdit{get;set;}
// public Boolean selected {get;set;}
}
}
I need help at this part:
Ref2.add(ref);
if(re1.Stage_Number__c<ChildStages.Stage_Number__c){
re1.Status_MVN__c='Completed';
}
Ref2.add(re1);
}
}
}
is it the correct way of adding different lists into one list and updating sobject?
This is example to update sObject...
list<sObject> sObjectList = new List<sObject>();
Account accObj = [Select id, (Select Id, LastName from Contacts) From Account Where Name ='Account2' limit 1];
for(Contact conObj : accObj.Contacts){
conObj.LastName = 'new' + conObj.LastName;
sObjectList.add(conObj);
}
Account accObj = [Select id, name From Account Where Name ='Account1' limit 1];
accObj.name = 'newAccount2';
sObjectList.add(accObj);
update sObjectList;
In my code when i want conatct record from relationship query I used formate
Account accObj = [Select id, (Select Id, LastName from Contacts) From Account Where Name ='Account2' limit 1];
for(Contact conObj : accObj.Contacts){
}
you used same logic just made one small mistake in below for loop, Change this for loop
for(Program_Stage_MVN__c ref1 : childStages1.Child_Stages_MVN__r){
}
to
for(Child_Stages_MVN__c ref1 : childStages1.Child_Stages_MVN__r){
}
Thanks,
Amol Salve
Salesforce Developer