Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string getType(SObject obj) {
- if(obj==null) return '';
- return obj.getSObjectType().getDescribe().getName()+'';
- }
- List<List<SObject>> contas = [FIND 'United' IN Name Fields RETURNING Account(Name, Phone), Opportunity(Name)];
- // System.debug(contas);
- // System.debug('Minha listona tem '+contas.size()+' listas dentro dela');
- Integer contadorDeListas = 0;
- List<Account> soContas = new List<Account>();
- List<Opportunity> soOportunidades = new List<Opportunity>();
- for(List<Sobject> listas:contas){
- // System.debug('Minha listinha possui '+listas.size()+' objetos dentro dela');
- // System.debug('Minha listinha '+contadorDeListas+' é essa: '+contas[contadorDeListas]);
- Integer contadorDeObjetos = 0;
- for(Sobject so:listas){
- if(getType(so) == 'Account'){
- soContas.add((Account)so);
- }else if(getType(so) == 'Opportunity'){
- soOportunidades.add((Opportunity)so);
- }else{
- }
- // System.debug('Este é o objeto '+contadorDeObjetos+' da minha lista de objetos '+contadorDeListas+': '+so);
- // Map<String, Object> objEmMap = so.getPopulatedFieldsAsMap();
- contadorDeObjetos++;
- }
- contadorDeListas++;
- }
- for(Account a:soContas){
- System.debug(a.Name);
- System.debug(a.Phone);
- }
- for(Opportunity o:soOportunidades){
- System.debug(o.Name);
- }
- //********************************************************************/
- //Exemplo do método getPopulatedFieldsAsMap()
- Account a = new Account();
- a.name = 'TestMapAccount2';
- a.phone = '123-4567';
- a.AccountNumber = '12345678';
- insert a;
- System.debug('a: '+a);
- Map<String, Object> fieldsToValue = a.getPopulatedFieldsAsMap();
- System.debug(fieldsToValue);
- for (String fieldName : fieldsToValue.keySet()) {
- System.debug('field name is ' + fieldName + ', value is ' +
- fieldsToValue.get(fieldName));
- }
- //************************************************************************************/
- string getType(SObject obj) {
- if(obj==null) return '';
- return obj.getSObjectType().getDescribe().getName()+'';
- }
- List<List<sObject>> burs = [FIND 'oil' RETURNING Account(Name, Phone), Contact(Firstname),
- Opportunity(Name, Amount WHERE Amount > 500000)];
- System.debug(burs[2]);
- //***********************************************************************/
- List<List<sObject>> burs = [FIND 'oil' RETURNING Account(Name, Phone), Contact(Firstname),
- Opportunity(Name, Amount, CreatedDate ORDER BY Name)];
- System.debug(burs[2]);
- //sem o order by, retorna em ordem decrescente por createdDate.
- //com o order by name, porém sem o ASC, retorna em ordem ascendente por padrão
- //***********************************************************************/
- String palavra = 'Z*1';
- List<List<sObject>> burs = [FIND :palavra IN ALL fields RETURNING Account(Name, Phone), Contact(Firstname),
- Opportunity(Name, Amount, CreatedDate ORDER BY Name)];
- System.debug(burs);
- //EXERCÍCIO
- /*
- Construa uma classe com um método estático em que se informe como parâmetro uma palavra que
- deverá ser buscada nos objetos Account, Contact e Opportunity, buscada em todos os campos
- e que retorne de Account, o Name, de Contact, o firstname e de Opportunity, o nome da oportunidade.
- Deve ser utilizado o método apresentado no início desses códigos para se determinar o tipo da lista
- dinamicamente e criar um map, contendo todos os dados, porém, em que a chave do Map de todos os tipos de objetos, deverá ser como se segue: de Account, deverá ser a letra A seguida de um número auto incrementável, para dizer que significa uma conta, a letra C quando for um contato, e a letra O quando for uma Oportunidade, todos da mesma forma, com o número auto incrementável.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement