2 Antworten
Hi JKK,
Please try this.
Trigger ->
trigger countmeetings on Event (after insert, after delete) {
if(trigger.IsInsert) { EventHelper.updateDistributionMeetings(trigger.new); } if(trigger.IsDelete) { EventHelper.updateDistributionMeetings(trigger.old); }}HELPER ->public class EventHelper { public Set<Id> accountIds {get; set;} public Void updateDistributionMeetings(List<Event> allEvents) { for (Event eventRec : allEvents) { accountIds.add(eventRec.WhatId); } Map<Id, Integer> accountWithCount = new Map<Id, Integer>(); List<Event> events = [SELECT Id, Distribution_Meetings__c, WhatId FROM Event WHERE WhatId =: accountIds]; for (Id accId : accountIds) { Integer totalAccount = 0; for (Event eventRec : events) { if (eventRec.WhatId == accId) { totalAccount++; } } accountWithCount.put(accId, totalAccount); } List<Event> eventsForUpdate = new List<Event>(); for (Event eventRec : events) { eventRec.Distribution_Meetings__c = accountWithCount.get(eventRec.WhatId); eventsForUpdate.add(eventRec); } Update eventsForUpdate; }}I hope it helps you.Kindly let me know if it helps you and please mark as Best Answer.Thanks and Regards,Biswojeet