Crear la automatización para ejecutar la promoción del ramo gratuito
En este paso, creamos una clase y un método nuevos, en los que comprobamos el estado de todos los pedidos. Si se activa un pedido, agregamos automáticamente un ramo de regalo al pedido.
Cuando vea el código, recuerde que cualquier texto que empieza con // es un comentario de código. En el código, los comentarios describen el propósito de un bloque de código (una o más líneas de código). Los comentarios ayudan a los desarrolladores a entender el código que deben escribir, la función del código existente y lo que debería hacer el código que presenta errores.
Cómo crear una clase y un método
- Haga clic en
y seleccione Developer Console.
- Haga clic en File (Archivo) | New (Nuevo) | Apex Class (Clase de Apex).
- Asigne el nombre
OrderItemUtility
a la clase y haga clic en OK (Aceptar).
- Sustituya el código existente por este código:
- Haga clic en File (Archivo) | Save (Guardar) para guardar la clase.
Cómo agregar una automatización para crear un ramo nuevo
A continuación, agregamos una automatización a la clase. Una vez que pegue las líneas de código adicionales, observará que se agregó un comentario de código, //
, a la línea en blanco. No olvide eliminar el comentario adicional antes de pegar el código.
- Cree una lista para almacenar ramos de regalo nuevos.
En su clase, bajo el comentario//TO DO 2.1
, pegue este código: - Utilice un bucle
for
para iterar por los pedidos enviados desde un desencadenador. (Crearemos ese desencadenador más adelante).
En su clase, bajo el comentario//TO DO 2.2
, pegue este código:
Esta es la primera parte del bucle for. Toma todos los pedidos del desencadenador y los agrega a la listaordersFromTrigger
. El bucle for evalúa todos los pedidos y les asigna el nombrecurrentOrder
.
- A continuación, observamos cada pedido (mediante la variable
currentOrder
que creamos) y preguntamos lo siguiente: ¿Está activado el pedido? Si la respuesta es afirmativa, hacemos algo. Si la respuesta es negativa, pasamos al siguiente pedido y hacemos la misma pregunta.
En su clase, bajo el comentario//TO DO 2.3
, pegue este código:
Como observó en el código del buclefor
, solo hay una llave. Agregaremos la otra después de terminar todo lo que queremos hacer a cada pedido activado.
- Cuando encontramos un pedido que efectivamente está activado, creamos un sObject para un nuevo
OrderItem
.
En su clase, bajo el comentario//TO DO 2.4
, pegue este código:Aquí creamos el sObject de OrderItem, llamadofreeBouquet
, y luego asignamos valores a sus campos.
- A continuación, agregamos el sObject a la lista que creamos en
//TO DO 2.1
.
En su clase, bajo el comentario//TO DO 2.5
, pegue este código:
Usamos el métodoadd
(agregar) integrado en Apex, lo que facilita la adición de un elemento a una lista.
En esta declaración,newBouquets
es el nombre de la lista, add (agregar) es el método yfreeBouquet
(entre paréntesis) es el sObject que se agrega a la listanewBouquets
.
- Por último, tenemos que terminar la declaración
if
(el código que se ejecuta solo para los pedidos activados) y el buclefor
(el código que se ejecuta para cada pedido a medida que el bucle recorre todos los pedidos activados).
En su clase, bajo el comentario//TO DO 2.6
, pegue este código:Ahora el archivo de la clase debe tener este aspecto: - Haga clic en File (Archivo) | Save (Guardar) para guardar la clase
OrderItemUtility
.
En la próxima unidad, aprenderá a obtener datos de Salesforce y a enviarlos a Salesforce, y creará un desencadenador. Luego comienza la diversión: probar su código.