Skip to main content

How to Create Trigger to update User if Account Type "Prospect" then deactivate User otherwise Active

Hello friends today post , create a trigger on Account, if account record type change in "prospect" then user deactivate and other type activate user ....
so let us start ........

Step=>1. Create a trigger on Account
                   goto developer console , File=>New=>trigger

                     updateUser on Account

                    trigger name:- updateUser.apxt

trigger updateUser on Account (after update) {
    Set<Id>allId=new Set<Id>();
    for(Account a:Trigger.new){
        if(a.Type=='Prospect'){
            allId.add(a.Id);
            deactivateHelper.updateUser(allId);
        }
    }
}

Step=>2.
               create a Future method of Apex class
               goto File=>New=>Apex Class
             Apex class name:- deactivateHelper

global  class deactivateHelper {
    @future
    public static void updateUser(Set<Id>allId){
        System.debug('result'+allId);
     
        Contact clst=[SELECT Id,Name,Email from Contact WHERE AccountId=:allId];
        System.debug('Contact deatails=>'+clst);
        List<User>userListToDeactivate=new List<User>();
        userListToDeactivate = [SELECT Id,Name from User where username=:clst.Email];
        System.debug('User details=>'+userListToDeactivate);
        if(userListToDeactivate.size()>0){
            for(User u : userListToDeactivate){
                u.IsActive = false;
            }
        }
        System.debug('User=>'+userListToDeactivate);
        update userListToDeactivate;
    }
 
}

Note: @future is a annotation of future method.

                                        Output:







Buy me a coffeeBuy me a coffee

Comments

Popular posts from this blog

How to Create Copy to Clipboard or How to Create Clipboard in Lightning Component

Hello friends today post,, How to Create Copy Clipboard in Lightning Component so let us start...... Step=>1.        goto developer Console......                                     File=>New=>Lightning Component                                                                         copyToClipboard.cmp  <aura:component implements="flexipage:availableForAllPageTypes" access="global" >     <div>         <p aura:id="pId">quick brown fox jumps over the lazy dog</p>         <lightning:button iconName="utility:copy_to_clipboard"                           onclick="{!c.copyHardcoreText}"                           label="Copy Text to clipboard"                           aura:id="btn1"/>     </div>       <div>         <lightning:textarea value="hello i am textarea value" aura:id="inputF"/>         <lightning:button iconName

How to show Current User Profile Picture in Lightning Component

Hello frnds today post learn how to show current user profile picture in lightning component so let us start....... Step=>1.            goto developer console and create lightning component               File=>New=>Lighning Component                DisplayUserPhoto.cmp <aura:component controller="LoginUserProfileCtrl"                 implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction"                 access="global" >     <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>     <aura:attribute name="oUser" type="user" default="{'sobjectType' : 'User'}" />     <h1>Current User Profile Picture</h1>     <div style="padding:100px">         <img src="{!v.oUser.FullPho

How to Create Quick Email Sending in Lightning Component

Hello friends today post, how to send Email using lightning component so let start .... Step=>1. first open your developer console and goto...                                                                          File=>New=>Lightning Component                                    EmailSend.cmp <aura:component controller="EmailSendController" implements="flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId" access="global" >         <aura:attribute name="email" type="string"/>     <aura:attribute name="subject" type="string"/>     <aura:attribute name="body" type="string"/>     <aura:attribute name="mailStatus" type="boolean" default="false"/>         <div class="slds-box" style="width:700px;margin-top:10px;margin-left:10px;">     <div class="sld