function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
sai harishsai harish 

Need help passing id in my wrapper class - Please help It's urgent.

Hi. I have a wrapper class. I am trying to pass Id from One object to a different object but whn I use a standard Controller my VF page does not show any records. It works fine when I am not using a standard controller and I hardcode the record id's. I need to take some values and insert the records in to a different object. And I would also like someone to critique my code. Please let me know if I am doing ok with my code preactice. I am also sharing my pageReference method. Here is my code. 

public class WO_Proj{

ApexPages.StandardController controller;
Private Work_Order__c wotsk;

Public WO_Proj(ApexPages.StandardController stdController){
   this.wotsk = (Work_Order__c)stdController.getRecord();
    system.debug('id = ' + wotsk.id);
   this.Controller = Controller;
}


Public List<Work_Order__c> workorder;
Public List<WrapProjBudgets> wrapProjBudgetsList {get; set; }
Public List<AcctSeed__Project_Task__c> selectedprojbudgets{get; set; }

Public List<Work_Order__c> getworkOrder(){
workorder = [Select Name,Project__c, Budgeted_Hrs__c from Work_Order__c Limit 10];
system.debug('Work order-------->' + workorder);
return workorder;
}


public WO_Proj(){
if(wrapProjBudgetsList == null){
   wrapProjBudgetsList = new List<WrapProjBudgets>();
   for(AcctSeed__Project_Task__c p : [Select Id, Name, AcctSeed__Budgeted_Hours__c, AcctSeed__Project__c from AcctSeed__Project_Task__c Where AcctSeed__Project__c = :workorder[0].Project__c]){
   wrapProjBudgetsList.add(new WrapProjBudgets(p));
   }
   

}
}
Public Void ProcessSelected(){
selectedprojbudgets = new List<AcctSeed__Project_Task__c>();
for(WrapProjBudgets wrapProjBudgets1 : wrapProjBudgetsList){
   if(wrapProjBudgets1.selected == true){
      selectedprojbudgets.add(wrapProjBudgets1.pb);
   }
}
}
Public class WrapProjBudgets{
   Public AcctSeed__Project_Task__c pb {get; set;}
   Public Boolean selected {get; set; }
   Public WrapProjBudgets(AcctSeed__Project_Task__c p){
    pb = p;
    selected = false;
   }
}
}


This is my method for inserting records. If I am able to pass Id's in above code I can use my Page reference method to insert the selected records. 

public PageReference savee(){

 List<Work_Task__c> wtList = new List<Work_Task__c>();
 for(AcctSeed__Project_Task__c pb : ProjBudgets){
 
Work_Task__c Wt = new Work_Task__c();
wt.Name = pb.Name;
wt.Budgeted_Hrs__c = pb.AcctSeed__Budgeted_Hours__c;
wt.Project_Budget__c = pb.Id;
wt.Project__c = pb.AcctSeed__Project__c;
wt.Work_Order__c = wotsk.id;
wtList.add(wt); 
}
insert wtList;
return null;
}
 
Raj VakatiRaj Vakati
Use this below same code 
public PageReference savee(){

insert wotsk ; 

 List<Work_Task__c> wtList = new List<Work_Task__c>();
 for(AcctSeed__Project_Task__c pb : ProjBudgets){
 
Work_Task__c Wt = new Work_Task__c();
wt.Name = pb.Name;
wt.Budgeted_Hrs__c = pb.AcctSeed__Budgeted_Hours__c;
wt.Project_Budget__c = pb.Id;
wt.Project__c = pb.AcctSeed__Project__c;
wt.Work_Order__c = wotsk.id;
wtList.add(wt); 
}
insert wtList;
return null;
}

 
sai harishsai harish
Thank you Rajamohan for replying. But I am not getting records when I open my visualforce page and give it an Id. I dont have a problem with my PageReference method. But above code where I am trying to use a checkbox, I am not getting records. Here is my visualforce page. 

<apex:page standardController="Work_Order__c" extensions="WO_Proj" showHeader="false" sidebar="false">
<apex:form >


<script type="text/javascript">
        function RefreshPrimaryTab(id)
        {
                  window.top.location.href = '/' + id;
        }
         function checkAll(cb){
        var inputElem = document.getElementsByClassName("CheckBoxInfo");
        var i;
        for(i=0; i<inputElem.length; i++ ){
            inputElem[i].checked = cb.checked;
        }
    }

    </script>
<apex:pageBlock >


<div style="text-align:right; font-size:25px">
<apex:repeat value="{!workorder}" var="wo">
<apex:outputText value="{!wo.Name}"/>
</apex:repeat>
</div>
<div style="text-align:center;font-size:15px">
<apex:commandButton value="Save" action="{!Savee}" oncomplete="RefreshPrimaryTab('{!Work_Order__c.Id}');"/>
</div>
<apex:pageBlockTable value="{!projBudgets}" var="pb">

   <apex:column >
        <apex:facet name="header"><apex:inputCheckbox onclick="checkAll(this);"/></apex:facet>
        <apex:inputCheckbox id="CheckBoxInfo" styleClass="CheckBoxInfo"/>
    </apex:column> 



<apex:column headerValue="Project Budget Name">
<apex:outputText value="{!pb.Name}"/>
</apex:column>
<apex:column headerValue="Budgeted Hours">
<apex:outputText value="{!pb.AcctSeed__Budgeted_Hours__c}"/>
</apex:column>
<apex:column headerValue="Work Task Name">
<apex:inputText value="{!pb.Name}"/>
</apex:column>
<apex:column headerValue="Budgeted Hours">
<apex:inputText value="{!pb.AcctSeed__Budgeted_Hours__c}"/>
</apex:column>
 
</apex:pageBlockTable>

</apex:pageBlock>
</apex:form>
</apex:page>