Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public with sharing class DMLCommands {
- public static void atualiza(List<Contact> contatos){
- try{
- Set<Id> identContas = new Set<Id>();
- Map<Id, Contact> mapa = new Map<Id, Contact>();
- for(Contact c:contatos){
- identContas.add(c.AccountId);
- }
- List<Account> contasU = [SELECT Name, (SELECT Name, email, AccountId FROM Contacts) FROM Account WHERE Name LIKE 'U%' AND Id IN :identContas];
- for(Account a:contasU){
- for(Contact c:a.Contacts){
- if(c.email != null){
- c.email = atualizaEmailGeral(c.email);
- }
- mapa.put(c.Id, c);
- }
- }
- for(Contact c:contatos){
- //System.debug('Cada contato: '+c);
- for(Account u:contasU){
- if(c.AccountId == u.Id){
- c.email = atualizaEmailGeral(c.email);
- }
- }
- mapa.put(c.Id, c);
- }
- for(Id i:mapa.keySet()){
- System.debug(mapa.get(i));
- }
- //System.debug(mapa);
- //upsert new List<Contact>(mapa.values());
- }catch(Exception e){
- System.debug(e.getMessage());
- }
- }
- private static String atualizaEmailGeral(String emailExistente){
- String beforeArroba = emailExistente.substringBefore('@');//Conteúdo da string do email antes do @
- String dominioSemFinais = emailExistente.substringBetween('@','.');
- String novoEmail = beforeArroba+'@'+dominioSemFinais+'.com.it';
- return novoEmail;
- }
- }
- //ANONYMOUS
- List<Contact> contatos = new List<Contact>();//[SELECT Name, email, AccountId FROM Contact];
- contatos.add(new Contact(firstname='Adriel', lastname='Calhares', email='adriel@calhares.net'));
- contatos.add(new Contact(firstname='Paola', lastname='Calhares', email='paola@calhares.net',AccountId='0018Y00002uTgkiQAC'));//Essa conta pai começa com "U" Conta: United(Singapore)
- contatos.add(new Contact(firstname='Inácio', lastname='Serafim', email='inacio@serafim.net.us',AccountId='0018Y00002uTgkiQAC'));//Essa conta pai começa com "U" Conta: United(Singapore)
- contatos.add(new Contact(firstname='José', lastname='Serafim', email='jose@serafim.net.us', AccountId='0018Y00002uTgkZQAS'));//Essa conta pai não começa com "U" Conta: Edge
- contatos.add(new Contact(firstname='Carlotilda', lastname='Serafin', id='0038Y00003cYCIxQAO'));
- // for(Contact c:contatos){
- // System.debug(c);
- // }
- // System.debug(contatos);
- DMLCommands.atualiza(contatos);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement