You need to sign in to do that
Don't have an account?
Stella maria
Need TestClass for this trigger
Trigger Order_Beforeupdate on Order (before update) {
if(trigger.IsUpdate && trigger.isBefore)
{
if (Rfleet_TriggerAdministration.canTrigger('Order.OnBeforeUpdate')) {
system.debug('## Inside Order Before update Trigger ## ');
Rfleet_ChangedOwnerRegistrationCard_TRG.onBeforeupdate(trigger.new,trigger.oldMap);
}
}
Class
public static void onBeforeupdate(list<order>newMap,Map<Id,order>oldMap) {
string strOwnerOfVehicleRegDoc;
list<VEH_Vehicle__c> updateVehObj=new list<VEH_Vehicle__c>();
list<VHG_VehicleGroup__c> VGHObj= new list<VHG_VehicleGroup__c>();
list<VEH_Vehicle__c> VEHobj= new list<VEH_Vehicle__c>();
for(Order ordobj: newMap){
order oldOpp =oldMap.get(ordobj.id);
if(oldOpp.OwnerOfVehicleRegDocument__c != ordobj.OwnerOfVehicleRegDocument__c){
strOwnerOfVehicleRegDoc=oldOpp.OwnerOfVehicleRegDocument__c;
system.debug('oldid----->'+strOwnerOfVehicleRegDoc);
}
}
system.debug('strOwnerOfVehicleRegDoc'+strOwnerOfVehicleRegDoc);
VGHObj=[Select id from VHG_VehicleGroup__c where VHGStatus__c !='Created' and OwnerRegDocument__c=:strOwnerOfVehicleRegDoc];
VEHobj=[SELECT id,VehicleGroup__c FROM VEH_Vehicle__c where VehicleGroup__r.VHGStatus__c='Created' and VehicleGroup__r.OwnerRegDocument__c=:strOwnerOfVehicleRegDoc];
for(Order ordobjlist: newMap) {
if(VGHObj.size()>0){
ordobjlist.addError('You can not change owner of registration card because of this Owner of registration card already linked VehicleGroup');
}
}
system.debug('list1size----->'+VEHobj.size());
if(VEHobj.size()>0){
for(VEH_Vehicle__c vehobjlist: VEHobj) {
vehobjlist.VehicleGroup__c=null;
updateVehObj.add(vehobjlist);
}
update updateVehObj;
}
}
}
if(trigger.IsUpdate && trigger.isBefore)
{
if (Rfleet_TriggerAdministration.canTrigger('Order.OnBeforeUpdate')) {
system.debug('## Inside Order Before update Trigger ## ');
Rfleet_ChangedOwnerRegistrationCard_TRG.onBeforeupdate(trigger.new,trigger.oldMap);
}
}
Class
public static void onBeforeupdate(list<order>newMap,Map<Id,order>oldMap) {
string strOwnerOfVehicleRegDoc;
list<VEH_Vehicle__c> updateVehObj=new list<VEH_Vehicle__c>();
list<VHG_VehicleGroup__c> VGHObj= new list<VHG_VehicleGroup__c>();
list<VEH_Vehicle__c> VEHobj= new list<VEH_Vehicle__c>();
for(Order ordobj: newMap){
order oldOpp =oldMap.get(ordobj.id);
if(oldOpp.OwnerOfVehicleRegDocument__c != ordobj.OwnerOfVehicleRegDocument__c){
strOwnerOfVehicleRegDoc=oldOpp.OwnerOfVehicleRegDocument__c;
system.debug('oldid----->'+strOwnerOfVehicleRegDoc);
}
}
system.debug('strOwnerOfVehicleRegDoc'+strOwnerOfVehicleRegDoc);
VGHObj=[Select id from VHG_VehicleGroup__c where VHGStatus__c !='Created' and OwnerRegDocument__c=:strOwnerOfVehicleRegDoc];
VEHobj=[SELECT id,VehicleGroup__c FROM VEH_Vehicle__c where VehicleGroup__r.VHGStatus__c='Created' and VehicleGroup__r.OwnerRegDocument__c=:strOwnerOfVehicleRegDoc];
for(Order ordobjlist: newMap) {
if(VGHObj.size()>0){
ordobjlist.addError('You can not change owner of registration card because of this Owner of registration card already linked VehicleGroup');
}
}
system.debug('list1size----->'+VEHobj.size());
if(VEHobj.size()>0){
for(VEH_Vehicle__c vehobjlist: VEHobj) {
vehobjlist.VehicleGroup__c=null;
updateVehObj.add(vehobjlist);
}
update updateVehObj;
}
}
}
User Below code,
Hope this will help you.
Thanks
karthik