Création d’une automatisation pour exécuter la promotion Bouquet gratuit
Dans cette étape, nous créons une nouvelle classe et une nouvelle méthode, dans lesquelles nous vérifions le statut de toutes les commandes. Si une commande est activée, nous y ajoutons automatiquement un bouquet bonus.
Lorsque vous examinez le code, gardez à l’esprit que tout texte commençant par // est un commentaire sur le code. Ces commentaires décrivent le but d’un bloc de code (une ou plusieurs lignes de code). Ils aident les développeurs à déterminer ce qu’ils doivent écrire, ce que fait le code existant et ce que le code défaillant est censé faire.
Création d’une classe et d’une méthode
- Cliquez sur
et sélectionnez Developer Console.
- Cliquez sur File | New | Apex Class (Fichier | Nouveau | Apex Class).
- Nommez la classe
OrderItemUtility
, puis cliquez sur OK.
- Remplacez le code existant par le code suivant :
- Cliquez sur File | Save (Fichier | Enregistrer) pour enregistrer le fichier.
Ajout d’une automatisation pour créer un nouveau bouquet
Nous allons maintenant ajouter une automatisation à la classe. Après avoir collé les lignes de code supplémentaires, vous remarquerez peut-être qu’un commentaire sur le code (//
) a été ajouté à la ligne vide. N’oubliez pas de supprimer ce commentaire supplémentaire avant de coller votre code.
- Créez une liste pour stocker de nouveaux bouquets bonus.
Dans votre classe, sous le commentaire//TO DO 2.1
, collez ce code : - Utilisez une boucle
for
pour parcourir les commandes envoyées à partir d’un déclencheur. (Nous créerons ce déclencheur plus tard.)
Dans votre classe, sous le commentaire//TO DO 2.2
, collez ce code :
Il s’agit de la première partie de la boucle for. Elle prend toutes les commandes du déclencheur et les ajoute à la listeordersFromTrigger
. La boucle for évalue chaque commande et nomme la commandecurrentOrder
.
- Examinons maintenant chaque commande (en utilisant la variable
currentOrder
que nous avons créée) et demandons-nous : La commande est-elle activée ? Si c’est le cas, une action est requise. Si ce n’est pas le cas, nous passons à la commande suivante et nous nous posons la même question.
Dans votre classe, sous le commentaire//TO DO 2.3
, collez ce code :
Comme pour le code de la bouclefor
, il n’y a ici qu’une seule accolade. Nous ajouterons l’autre après avoir terminé tout ce que nous voulons faire pour chaque commande activée.
- Lorsque nous trouvons une commande activée, nous créons un sObject pour un nouvel élément
OrderItem
.
Dans votre classe, sous le commentaire//TO DO 2.4
, collez ce code :Ici, nous créons le sObject OrderItem, appeléfreeBouquet
, puis nous attribuons des valeurs à ses champs.
- Ajoutons ensuite le sObject à la liste que nous avons créée dans
//TO DO 2.1
.
Dans votre classe, sous le commentaire//TO DO 2.5
, collez ce code :
Nous utilisons la méthodeadd
qui est intégrée à Apex, ce qui facilite l’ajout d’un élément à une liste.
Dans cette instruction,newBouquets
est le nom de la liste, add est la méthode etfreeBouquet
(entre parenthèses) est le sObject qui est ajouté à la listenewBouquets
.
- Enfin, nous devons mettre fin à l’instruction
if
(le code qui est exécuté uniquement pour les commandes activées) et à la bouclefor
(le code qui est exécuté pour chaque commande lorsque la boucle parcourt toutes les commandes activées).
Dans votre classe, sous le commentaire//TO DO 2.6
, collez ce code :Votre fichier de classe doit maintenant ressembler à ceci : - Cliquez sur File | Save (Fichier | Enregistrer) pour enregistrer la classe
OrderItemUtility
.
Dans l’unité suivante, vous apprendrez à obtenir et à envoyer des données à Salesforce et vous créerez un déclencheur. Vous allez ensuite pouvoir tester votre code, la partie la plus amusante !