0% found this document useful (0 votes)
11 views2 pages

Public Class Bookissueclass (

The document contains a class named 'Bookissueclass' with methods for validating book issue dates, updating issue dates, and managing related cases and student records. It includes validation checks for return and receive dates, assigns default values for issue and return dates, and updates the status of cases based on book return conditions. Additionally, it tracks the number of books returned by each student and updates their records accordingly.

Uploaded by

sujatha.sirigiri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views2 pages

Public Class Bookissueclass (

The document contains a class named 'Bookissueclass' with methods for validating book issue dates, updating issue dates, and managing related cases and student records. It includes validation checks for return and receive dates, assigns default values for issue and return dates, and updates the status of cases based on book return conditions. Additionally, it tracks the number of books returned by each student and updates their records accordingly.

Uploaded by

sujatha.sirigiri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

public class Bookissueclass {

//task 33
public static void bookissuevalidation(list<Book_issue__c> listbooks){
for(Book_issue__c bk: listbooks)
{
if(bk.return_date__c < bk.book_issued_date__c || bk.receive_date__c <
bk.book_issued_date__c|| bk.book_issued_date__c > system.today() ){
bk.addError('return date or receive date should not be less than
the issue date');

}
}
}
public static void updateissuedate(list<Book_issue__c> listbooks)
{ //task 34
for(Book_issue__c bk: listbooks){
if(bk.book_issued_date__c == null ){
bk.book_issued_date__c = system.today();

}
if(bk.return_date__c == null){
bk.return_date__c = bk.book_issued_date__c+7;

}
public static void updatecase(list<Book_issue__c> listbooks){
//task 40
system.debug('book issue records =='+ listbooks);
for(Book_issue__c bk: listbooks){
system.debug('book issue record =='+ bk);
system.debug('book issue record =='+ bk.receive_date__c);
if(bk.receive_date__c <> null && bk.return_date__c < system.today()){
system.debug('receive date value ==' + bk.receive_date__c);
list<case> cs = [SELECT Id,CaseNumber,Subject,Description,Status
FROM case WHERE subject LIKE: '%'+ bk.Name + '%'];
if(cs.size() >0){
case cs1 = new case();
cs1.Id = cs[0].Id;
cs1.Status ='Closed';
system.debug('case status value =='+ cs1.Status);
update cs1;
}

}
public static void getreceivedate(list<Book_issue__c>
listbooks,map<id,Book_issue__c> mapoldbi){ // using handler
for(Book_issue__c bk: listbooks){
if(bk.receive_date__c != mapoldbi.get(bk.Id).receive_date__c){
updatenoofbooksonstudent(bk);

}
}
}
public static void updatenoofbooksonstudent(Book_issue__c bk){
//task 41 and object manager using task 42 also
list<Book_issue__c> listbk = [SELECT ID,name,book_issued_date__c,
return_date__c,receive_date__c, Student__c FROM Book_issue__c WHERE Student__c =:
bk.Student__c and receive_date__c != null ];
if(listbk.size() > 0){
Student__c st = new Student__c();
st.Id = bk.Student__c;
st.No_of_books_returned__c = listbk.size();
update st;

You might also like