Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- List<Case> caseList = new List<Case>();
- List<CaseHistory> CaseHistoryList = new List<CaseHistory>();
- Map<Id, Date> caseIdMap = new Map<Id, Date>();
- //Querying Case Records here
- for(Case cs: [SELECT Id, Status FROM Case]){
- caseList.add(cs);
- }
- if(caseList.size() > 0){
- //Querying history for Case
- CaseHistoryList = [SELECT newValue, createdDate, OldValue, CaseId FROM CaseHistory WHERE CaseID IN :caseList AND Field = 'Status'];
- System.debug('CaseHistoryList: '+CaseHistoryList);
- if(CaseHistoryList.size() > 0){
- for(CaseHistory csHis : CaseHistoryList){
- if(csHis.newValue == 'New'){
- caseIdMap.put(csHis.caseId, csHis.CreatedDate.date());
- System.debug('CaseHistory Map: '+caseIdMap);
- }
- }
- }
- if(caseIdMap.size() > 0){
- for(Case updateCase : [SELECT Id, ClosedDate__c, NewStatusDate__c, EscalateDate__c, InProgressDate, OnHoldDate__c Status FROM Case WHERE ID in :caseIdMap.keyset()]){
- //Need to populate date field for each status.
- }
- }
- }
- Map<ID, Case> caseMap = new Map<ID, Case>();
- Map<Id, Date> caseIdMap = new Map<Id, Date>();
- for(Case cs: [SELECT Id, Status FROM Case])
- {
- caseMap.put(cs.ID, cs);
- }
- if(caseMap.size() > 0)
- {
- for(CaseHistory caseHistory : [SELECT newValue, createdDate, OldValue, CaseId FROM CaseHistory WHERE CaseID IN : caseMap.keySet() AND Field = 'Status'])
- {
- if(caseHistory.newValue == 'New' && caseMap.containsKey(caseHistory.CaseID))
- {
- /*caseMap.get(caseHistoryMap.get(caseHistory.CaseID).ClosedDate__c = caseHistory.???
- caseMap.get(caseHistoryMap.get(caseHistory.CaseID).NewStatusDate__c = .
- caseMap.get(caseHistoryMap.get(caseHistory.CaseID).EscalateDate__c
- caseMap.get(caseHistoryMap.get(caseHistory.CaseID).InProgressDate
- caseMap.get(caseHistoryMap.get(caseHistory.CaseID).OnHoldDate__c
- caseMap.get(caseHistoryMap.get(caseHistory.CaseID).Status*/
- }
- }
- }
Add Comment
Please, Sign In to add comment