Sie sind auf Seite 1von 6

public with sharing class S2A_Clone_MassReassignment_Tasks {

String Radioops = null;


public List<S2A_wrapper_Milestonetasks> usrtaskslist {get; set;}
public List<Milestone1_Task__c> intermeditaskslist {get; set;}
public String soql {get;set;}
public String soqlsort {get;set;}
Integer counter = 0;//To track the number of records parsed
Integer limitSize = 20;//Number of records to be displayed
Integer totalSize =0; //To Store the total number of records available

public List<S2A_wrapper_Milestonetasks> ContactsToShow{get;set;}


public Milestone1_Task__c dummyTask {get; set;}
public Milestone1_Task__c dummyTask2 {get; set;}
public Boolean showSave {get; set;}
public Boolean anySelected {get; set;}

/*
public List<Milestone1_Task__c> recs {get; set;}
public Boolean hasChildren {get; set;}
public Boolean NoPendingTasks {get; set;}
public Boolean hasMultipleMilestones {get;set;}
public Boolean hasPredecessorTasks {get;set;}
*/
public User FromUser {get; set;}
public User ToUser {get; set;}

public S2A_Clone_MassReassignment_Tasks() {
Radioops= 'None';
dummyTask = new Milestone1_Task__c();
dummyTask2 = new Milestone1_Task__c();
}

public List<SelectOption> getItems()


{
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('All','All'));
options.add(new SelectOption('None','None'));
return options;
}

public class S2A_wrapper_Milestonetasks {


public Milestone1_Task__c tsk {get; set;}
public Boolean selected {get; set;}
public S2A_wrapper_Milestonetasks(Milestone1_Task__c c) {
tsk = c;
selected = false;
}

public String getRadioops()


{
return Radioops;
}

public void setRadioops(String Radioops)


{
this.Radioops =Radioops;
}

public List<S2A_wrapper_Milestonetasks> getUserTasks() {


//usrtaskslist = new List<S2A_wrapper_Milestonetasks>();
// if(usrtaskslist == null) {
system.debug('Called how many times');
usrtaskslist = new List<S2A_wrapper_Milestonetasks>();

soql= 'Select
Id,Name,Project_Milestone__c,Project_Task_Name__c,Assigned_To__c,Complete__c,Descri
ption__c,Start_Date__c,Estimated_Hours__c,Task_Stage__c,Due_Date__c,Blocked__c,Proj
ect_Milestone__r.Project__r.Name,Project_Milestone__r.Project_Milestone_Name__c,Blo
cked_Reason__c,Predecessor_Task__c FROM Milestone1_Task__c WHERE Complete__c =
false';

system.debug('soql is : ' +soql);


system.debug('reminder is : ' +soql +' AND Assigned_To__c = ' + '\'' +
dummyTask.Assigned_To__c +'\''+ ' order by ' + sortField + ' ' + sortDir );
//system.debug('intermeditaskslist is : ' +intermeditaskslist);
intermeditaskslist = Database.query(soql +' AND Assigned_To__c = ' + '\'' +
dummyTask.Assigned_To__c +'\''+ ' order by ' + sortField + ' ' + sortDir );

for(Milestone1_Task__c c: intermeditaskslist)
{
usrtaskslist.add(new S2A_wrapper_Milestonetasks(c));
}

//}
return usrtaskslist;
}

public void ContactPagination(){

ContactsToShow = new List<S2A_wrapper_Milestonetasks>();


totalSize = usrtaskslist.size();

if((counter+limitSize) <= totalSize){


for(Integer i=0;i<limitSize;i++){
ContactsToShow.add(usrtaskslist.get(i));
}
}else{
for(Integer i=0;i<totalSize;i++){
ContactsToShow.add(usrtaskslist.get(i));
}
}
system.debug('Contactstoshow '+ContactsToShow);

public void beginning(){

ContactsToShow.clear();
counter=0;
if((counter + limitSize) <= totalSize){
for(Integer i=0;i<limitSize;i++){
ContactsToShow.add(usrtaskslist.get(i));
}

} else{

for(Integer i=0;i<totalSize;i++){
ContactsToShow.add(usrtaskslist.get(i));
}

}
Radioops = 'None';
}

public void next(){

ContactsToShow.clear();
counter=counter+limitSize;

if((counter+limitSize) <= totalSize){


for(Integer i=counter;i<(counter+limitSize);i++){
ContactsToShow.add(usrtaskslist.get(i));
}
} else{
for(Integer i=counter;i<totalSize;i++){
ContactsToShow.add(usrtaskslist.get(i));
}
}
Radioops = 'None';
}

public void previous(){

ContactsToShow.clear();

counter=counter-limitSize;

for(Integer i=counter;i<(counter+limitSize); i++){


ContactsToShow.add(usrtaskslist.get(i));
}
Radioops = 'None';
}

public void last (){

ContactsToShow.clear();

if(math.mod(totalSize , limitSize) == 0){


counter = limitSize * ((totalSize/limitSize)-1);
} else if (math.mod(totalSize , limitSize) != 0){
counter = limitSize * ((totalSize/limitSize));
}

for(Integer i=counter-1;i<totalSize-1;i++){
ContactsToShow.add(usrtaskslist.get(i));
}
Radioops = 'None';
}
public Boolean getDisableNext(){

if((counter + limitSize) >= totalSize )


return true ;
else
return false ;
}

public Boolean getDisablePrevious(){

if(counter == 0)
return true ;
else
return false ;
}

public void processSelection()


{
usrtaskslist = null;
FromUser = new User();
FromUser = [Select Id, Name from User where Id = :dummyTask.Assigned_To__c];

if (getUserTasks().isempty())
{
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'There are No
Pending Tasks for User '+FromUser.Name));
}

showSave = false;
//system.debug('Assigned from user name '+dummyTask.Assigned_To__c+'
'+FromUser.Name+' Assigned to username ' +dummyTask2.Assigned_To__c+'
'+ToUser.Name);
//system.debug('getUserTasks is :'+getUserTasks());

if (getUserTasks().size() > 0)
{
showSave = true;
}

dummyTask2 = new Milestone1_Task__c();


ContactPagination();
//showSave = true;
system.debug('Showsave value is :'+showSave);
}

public void MoveTasks()


{
if(dummyTask2.Assigned_To__c == null)
{
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Please select
an Assign to User'));
}
else{
ToUser = new User();
ToUser = [Select Id, Name from User where Id = :dummyTask2.Assigned_To__c];
if(dummyTask.Assigned_To__c == dummyTask2.Assigned_To__c)
{
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Please select
different Assign from and Assign to Users'));
}

else
{
List<Milestone1_Task__c> selectedUsrTsks = new List<Milestone1_Task__c>();
for(S2A_wrapper_Milestonetasks cCon: ContactsToShow) {
if(cCon.selected == true) {
selectedUsrTsks.add(cCon.tsk);
}
}

System.debug('These are the selected Contacts...');


for(Milestone1_Task__c con: selectedUsrTsks) {
con.Assigned_to__c = dummyTask2.Assigned_To__c;
}
update selectedUsrTsks;
ApexPages.addmessage(new
ApexPages.message(ApexPages.severity.INFO,selectedUsrTsks.size()+ ' Tasks have been
Reassigned from User '+FromUser.Name+' to user '+ ToUser.Name));
usrtaskslist=null;
ContactsToShow = getUsertasks();
ContactPagination();
if(ContactsToShow.size() < 1 || ContactsToShow.isempty())
{
showSave = false;
}
}
Radioops = 'None';
}
}

public void updradiobuttonlistvals() {


for (S2A_wrapper_Milestonetasks c : ContactsToShow)
{
if (Radioops == 'All')
{
c.selected=true;
}
else
{
c.selected=false;
}
}
}

/*
public PageReference cancel() {
return null;
}
*/

public String sortDir {


// To set a Direction either in ascending order or descending order.
get { if (sortDir == null) { sortDir = 'asc'; }
return sortDir;}
set;
}
// the current field to sort by. defaults to last name
public String sortField {
// To set a Field for sorting.
get { if (sortField == null) {sortField =
'Project_Milestone__r.Project__r.Name'; } return sortField; }
set;
}

public void toggleSort() {


sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
// run the query again for sorting other columns
soqlsort= 'Select
Id,Name,Project_Milestone__c,Project_Task_Name__c,Assigned_To__c,Complete__c,Descri
ption__c,Start_Date__c,Estimated_Hours__c,Task_Stage__c,Due_Date__c,Blocked__c,Proj
ect_Milestone__r.Project__r.Name,Project_Milestone__r.Project_Milestone_Name__c,Blo
cked_Reason__c,Predecessor_Task__c FROM Milestone1_Task__c WHERE Complete__c =
false';

// Adding String array to a List array


intermeditaskslist = Database.query(soqlsort +' AND Assigned_To__c = ' + '\'' +
dummyTask.Assigned_To__c +'\''+ ' order by ' + sortField + ' ' + sortDir );
usrtaskslist= new List<S2A_wrapper_Milestonetasks>();

for(Milestone1_Task__c c: intermeditaskslist)
{
usrtaskslist.add(new S2A_wrapper_Milestonetasks(c));
}

ContactPagination();

Das könnte Ihnen auch gefallen