• aravind k 4
  • NEWBIE
  • 0 Points
  • Member since 2021

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 0
    Replies
trigger insertupdatecopy1 on Account (after insert,after Update) {
    if(trigger.isInsert){
    List<Contact> clist = new List<Contact>();
    for(Account acc :trigger.new){
    if(acc.name.contains('Demandblue')){
        Contact c = new Contact();
        c.lastname = acc.name;
        c.Email = acc.Email__c;
        c.Phone=acc.Phone;
        c.AccountId=acc.Id;
        c.MailingStreet = acc.BillingStreet;
        c.MailingCity = acc.BillingCity;
        c.MailingCountry = acc.BillingCountry;
        c.MailingState = acc.BillingState;
        c.MailingState = acc.BillingPostalCode;
        c.MailingLatitude = acc.BillingLatitude;
        c.MailingLongitude = acc.BillingLongitude;
        clist.add(c);
        }
    }
    if(!clist.isEmpty()){
       insert(clist); 
    }
    }
    if(trigger.isUpdate){
        
    List<Contact> conlist = new List<Contact>();
    List<Account> alist = [SELECT Id,BillingStreet,BillingCity,BillingCountry,BillingState,BillingPostalCode from Account Where Name LIKE 'Demandblue%' AND id IN: trigger.new];
    List<String> sta = new List<String>();
    String preval;
    List<Messaging.Email> emaillist = new List<Messaging.Email>();
    List<Contact> con = [SELECT Name, AccountId, Id,Account.Name,Account.Id,Email,MailingStreet,MailingCity,MailingCountry,MailingState,MailingPostalCode FROM Contact where AccountId IN: alist and Account.Name Like '%Demandblue%'];
      for(Contact c : con){     
        for(Account a : trigger.new){
        for(Account ac :trigger.old){
       if((a.BillingStreet != ac.BillingStreet || a.BillingCity != ac.BillingCity || a.BillingCountry != ac.BillingCountry || a.BillingState != ac.BillingState || a.BillingPostalCode != ac.BillingPostalCode) && (c.AccountId == a.id && c.AccountId == ac.id)){
        c.MailingStreet = a.BillingStreet;
        c.MailingCity = a.BillingCity;
        c.MailingCountry = a.BillingCountry;
        c.MailingState = a.BillingState;
        c.MailingPostalCode = a.BillingPostalCode;
        conlist.add(c);
        sta.add('aarok3115@gmail.com');
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        mail.setToAddresses(sta); 
        mail.setSubject('Updations on Account');
        mail.setPlainTextBody(ac.BillingCity +'is updated to '+ a.BillingCity);
        emaillist.add(mail);
        Messaging.sendEmail(emaillist);
      }
     }   
    }
   }
    update conlist;

    }


}