Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trigger InsereAccountNumberNaoRepetido on Account (before insert) {
- for (Account a : Trigger.new) {
- System.debug('Nome da conta: '+a.name);
- System.debug('AccountNumber: '+a.accountnumber);
- if(a.accountnumber != null){
- if(a.accountnumber.length() != 8 || a.accountnumber == ''){
- a.accountnumber = AccountNumber.geraAccountNumber();
- }else{
- while(AccountNumber.verificaExistencia(a.AccountNumber)){
- System.debug('Verifica existencia: '+AccountNumber.verificaExistencia(a.AccountNumber));
- a.AccountNumber = AccountNumber.geraAccountNumber();
- }
- }
- }
- System.debug('Nome da conta: '+a.name);
- System.debug('AccountNumber: '+a.accountnumber);
- System.debug('Site: '+a.website);
- }
- }
- public class AccountNumber {
- public static String geraAccountNumber(){
- Double d = Math.random()*(10^17);
- String ran = String.valueOf(d);
- String an = ran.right(8);
- return an;
- }
- public static Boolean verificaExistencia(String an){
- List<Account> lista = [SELECT AccountNumber FROM Account WHERE AccountNumber = :an];
- return lista.size()!=0?true:false;
- }
- }
- trigger ClosedOpportunityTrigger on Opportunity (after insert, after update) {
- List<Task> taskList = new List<Task>();
- for(Opportunity opp:Trigger.new){
- if(Trigger.isInsert){
- if(opp.StageName == 'Closed Won'){
- taskList.add(new Task(Subject = 'Follow up test task', WhatId = opp.Id));
- }
- }
- if(Trigger.isUpdate){
- Opportunity o = Trigger.oldMap.get(opp.Id);
- if(opp.StageName == 'Closed Won' && opp.StageName != o.StageName){
- taskList.add(new Task(Subject = 'Follow up test task', WhatId = opp.Id));
- }
- }
- }
- if(taskList.size()>0){
- ClasseDAO.insereListaTask(taskList);
- }
- }
- public with sharing class ClasseDAO {
- public static void insereListaTask(List<Task> tasks){
- try{
- Database.SaveResult[] resultados = Database.insert(tasks, false);
- for(Database.SaveResult dsr:resultados){
- if(dsr.isSuccess()){
- System.debug('Task inserida com sucesso: '+dsr.getId());
- }else{
- List<Database.Error> dbeList = dsr.getErrors();
- for(Database.Error dbe:dbeList){
- System.debug('Erro: ');
- System.debug(dbe.getStatusCode()+' - '+dbe.getMessage());
- System.debug('Campos do erro: ');
- System.debug(dbe.getFields());
- }
- }
- }
- }catch(Exception e){
- System.debug(e.getMessage());
- }
- }
- }
- //Anonymous
- try{
- List<Opportunity> ops = new List<Opportunity>{
- new Opportunity(Name='Oportunidade teste Prospecting', StageName='Prospecting', CloseDate= Date.valueOf('2023-05-15'), Description='Nova oportunidade'),
- new Opportunity(Name='Oportunidade teste ClosedLost', StageName='Closed Lost', CloseDate=Date.valueOf('2023-05-15'), Description='Nova oportunidade'),
- new Opportunity(Name='Oportunidade teste ClosedWon', StageName='Closed Won', CloseDate=Date.valueOf('2023-05-15'), Description='Nova oportunidade'),
- new Opportunity(Id='0068Y00001OBqmZQAT', StageName='Closed Won', CloseDate=Date.valueOf('2023-05-15'), Description='Nova oportunidade'),
- new Opportunity(Id='0068Y00001OBqmhQAD', StageName='Closed Won', CloseDate=Date.valueOf('2023-05-15'), Description='Nova oportunidade')};//Está em Closed Won - Edge
- upsert ops;
- }catch(Exception e){
- System.debug(e.getMessage());
- }
Add Comment
Please, Sign In to add comment