Sunteți pe pagina 1din 4

public with sharing class CreditTransactions { public List<CnP_Transaction__c> dupquery = new List<CnP_Transaction__c>(); public List<CnP_Transaction__c> transactvalue; public String

para{get;set{ para = value;}} public String expired{get;set{ expired = value;}} set<string> CreditOrderNumber=new set<string>(); public String ContactId{get;set;} public String tranId1{ get;set; } public String creditcardname{ get;set; } public String cardexpiration{ get;set; } PageReference p; Map<DateTime,Id> chequeUniqueMap = new Map<DateTime,Id>(); Map<DateTime,String> CardNameMap = new Map<DateTime,String>(); Map<DateTime,String> CardExpirationMap = new Map<DateTime,String>(); List<DateTime> transactiondate = new List<DateTime>(); public public public public Integer expmonth{get;set;} Integer expyear{get;set;} Date expmonthdate{get;set;} String expdate{get;set;}

list<AggregateResult> ResultSet; public list<AggregateResult> getResultSet() {return ResultSet;} public void setResultSet(list<AggregateResult> ResultSet) {this.ResultSet= Resul tSet; } list<AggregateResult> ResultSet1; public list<AggregateResult> getResultSet1() {return ResultSet1;} public void setResultSet1(list<AggregateResult> ResultSet1) {this.ResultSet1= Re sultSet1; } public CreditTransactions(ApexPages.StandardController controller) { ContactId = ApexPages.currentPage().getParameters().get('Id'); ResultSet= [select MAX(TransactionDate__c) tdate,CreditCard4x4__c cardn um from CnP_Transaction__c where Contact__c= :ContactId and CreditCard4x4__c!=nu ll GROUP BY CreditCard4x4__c]; ResultSet1 = [Select Max(TransactionDate__c) tdate1,Invoice_Check_Numbe r__c icnum from CnP_Transaction__c where Contact__c =:ContactId GROUP BY Invoice _Check_Number__c]; for(AggregateResult arr:ResultSet){ transactiondate.add((DateTime)arr.get('tdate')); } dupquery = [ select Id, TransactionDate__c,Credit_Card_Name__c,CardExpi ration__c from CnP_Transaction__c where TransactionDate__c IN :transactiondate]; for(CnP_Transaction__c cnp:dupquery){ chequeUniqueMap.put(cnp.TransactionDate__c,cnp.Id); CardNameMap.put(cnp.TransactionDate__c,cnp.Credit_Card_Name__c ); CardExpirationMap.put(cnp.TransactionDate__c,cnp.CardExpiratio n__c); }

} public CreditTransactions() { } public PageReference Vterminal() { System.debug('expired param valueeee'+expired); expmonth = Integer.valueOf(expired.substring(0,2)); expyear = Integer.valueOf(expired.substring(3,7)); expmonthdate = Date.newInstance(expyear, expmonth,01 ); System.debug('expired monthdate valueeee'+expmonthdate); p=new PageReference('/apex/VirtualTerminal?id='+para); if(expmonthdate>System.Today()){ return p; }else{ ApexPages.Message errMsg= new ApexPages.Message(ApexPages.severity.ERROR, 'Card Expired'); ApexPages.addMessage(errMsg); } return null; } public list<OppClass> getResults(){ list<OppClass> lstResult = new list<OppClass>(); for (AggregateResult ar: ResultSet){ tranId1 = (String)chequeUniqueMap.get((DateTime)ar.get('tdate')); creditcardname = (String)CardNameMap.get((DateTime)ar.get('tdate')); cardexpiration = (String)CardExpirationMap.get((DateTime)ar.get('tdate')); oppClass objOppClass = new oppClass(ar,tranId1,creditcardname,cardexpira tion); lstResult.add(objOppClass); } return lstResult; } public list<checkClass> getCheckResults(){ list<checkClass> lstResult1 = new list<checkClass>(); for (AggregateResult ar: ResultSet1){ checkClass objCheckClass = new checkClass(ar); lstResult1.add(objCheckClass); } return lstResult1; } public class oppClass { public DateTime tDate{ get;set; } public String tDate2{ get;set; } public String cardnum{ get;set; }

public String cardexp{ get;set; } public String cardname{ get;set; } public String tranId{ get;set; } public oppClass(AggregateResult ar, String i, String cname,String cexpiry) { //Note that ar returns objects as results, so you need type conversion here tDate=(DateTime)ar.get('tdate'); tDate2 = tDate.format('dd/MM/yyyy hh:mm'); cardnum = (String)ar.get('cardnum'); tranId = i; cardname =cname; cardexp = cexpiry; // cardexp = '01/2001'; } } public class checkClass { public String icnum{get;set;} public DateTime tDate{ get;set; } public String tDate2{ get;set; } public checkClass(AggregateResult ar){ tDate=(DateTime)ar.get('tdate'); tDate2 = tDate.format('dd/MM/yyyy hh:mm'); icnum = (String)ar.get('icnum'); } }

<apex:pageBlockTable value="{!Results}" var="transaction" > <b>Credit Card:</b> <apex:inputhidden value="{!transaction.tranId}" id="transactid" rendered="{!IF(p aymenttype=='Credit Card',true,false)}"/> <apex:column headerValue="Date Last Used" value="{!transaction.tDate2}" render ed="{!IF(paymenttype=='Credit Card',true,false)}"/> <apex:column headerValue="Last 4 digits" value="{!transaction.cardnum}" rend ered="{!IF(paymenttype=='Credit Card',true,false)}"/> <apex:column headerValue="Expiration Date" value="{!transaction.cardexp}" id ="expired" rendered="{!IF(paymenttype=='Credit Card',true,false)}"/> <apex:column headerValue="Card Type" value="{!transaction.cardname}" rendered= "{!IF(paymenttype=='Credit Card',true,false)}"/> <apex:column headerValue="Payment Type" value="{!transaction.paytype1}" rend ered="{!IF(paymenttype=='Credit Card',true,false)}"/> <apex:column > <apex:commandButton action="{!Vterminal}" value="Virtual Terminal" reRender= "hiddenblock"> <apex:param name="para" value="{!transaction.tranId}" assignTo="{ !para}"></apex:param> <apex:param name="expired" value="{!transaction.cardexp}" assignT o="{!expired}"></apex:param> </apex:commandButton> </apex:column> </apex:pageBlockTable>

S-ar putea să vă placă și