Hello Team,

below  my code prevent default is not working can you suggest me anything is missing here?

function preStageChange(executionContext) {

debugger;
var globalContext = Xrm.Utility.getGlobalContext();
var direction = executionContext.getEventArgs().getDirection();
var projectId = Xrm.Page.data.entity.getId();
projectId = projectId.replace('{', '');
projectId = projectId.replace('}', '');

var stopSave=false;
var activeStageId, activeStageName;

//Get the current active stage of the process
var activeStage = Xrm.Page.data.process.getActiveStage();

//Get the ID of the current stage
activeStageId = activeStage.getId();

//Get the Name of the current stage
activeStageName= activeStage.getName();


if (activeStageName == "Plan" && direction == "Next")
{

Xrm.WebApi.online.retrieveMultipleRecords("salesorderdetail", "?$select=_salesorderid_value,msdyn_orderlinenumber&$filter=_msdyn_project_value eq "+ projectId +" and msdyn_billingmethod eq "+192350001+"").then(
function success(result) {

if (result.entities.length > 0)
{

var orderLine = result.entities[0];
var msdyn_orderlinenumber = orderLine["msdyn_orderlinenumber"];
var salesorderid = new Array();
salesorderid[0] = new Object();
salesorderid[0].id = orderLine["_salesorderid_value"];
salesorderid[0].name = orderLine["_salesorderid_value@OData.Community.Display.V1.FormattedValue"];



if (salesorderid[0].name != null && msdyn_orderlinenumber != null)
{
alert(msdyn_orderlinenumber);

Xrm.WebApi.online.retrieveMultipleRecords("msdyn_contractlinescheduleofvalue", "?$select=msdyn_contractlinelineid&$filter=msdyn_contractlinelineid eq '+msdyn_orderlinenumber+'").then(

function success(result) {

if (result.entities.length > 0)
{
alert("Record Found");
return;

}
else
{
alert("Record Not Found");
executionContext.getEventArgs().preventDefault();
Xrm.Utility.alertDialog("Next Stage is not allowed");
return;

}



},
function (error) {
console.log(error.message);
}

);


}

}


},
function (error) {
console.log(error.message);
}

);


}

}