پرش به محتوای اصلی

کنترل شرط بر اساس فیلد رشته

کنترل شرط بر اساس فیلد رشته

شرح صورت مسئله

ممکن است در بخشی از یک فرآیند ، این که فرآیند از چه مسیری ادامه پیدا کند برحسب گزینه انتخابی در فرم پیشین باشد و نیاز باشد با بررسی مقدار فیلد مورد نظر فرایند از مسیر انتخابی پیش رود.

برای مثال در فرآیند زیر، اقدام‌کننده در فرم بررسی درخواست می‌تواند گزینه “تایید” و یا “عدم تایید” را انتخاب کند. این متغیر را در پارامتر خروجی این فعالیت و در پارامتر ورودی دروازه انحصاری (Exclusive Gateway) قرار می‌دهیم و برای مثال با کلیک روی مسیر “تایید” و انتخاب کدنویسی، در صفحه باز شده کد زیر را می‌نویسم که اگر مقدار متغیر مورد نظر برابر با “تایید”  بود از این مسیر فرآیند ادامه پیدا کند و در غیر این صورت از مسیر دیگر.

کنترل شرط بر اساس فیلد رشته

 

کنترل شرط بررسی درخواست

 

کنترل شرط پارامترهای ورودی

 

کنترل شرط

using System;

using Chargoon.Didgah.BPMS.CommonApi;

namespace Chargoon.Didgah.BPMS.Runtime

{

public class ConditionalFlow : IConditionalFlow

{

public IExecution Execution { get; set; }

public bool Evaluate()

{

ManagerApproval// نام متغییر روی فرم میباشد //

//حال بر روی مسیر موردنظر، به این شکل بررسی میکنیم اگر درون این متغییر مقدار “تایید” وجود دارد ،فرایند از همین مسیر ادامه پیدا کند و اگر نه از این مسیر نرود //

if(Execution.StringValue(“ManagerApproval”) == “تایید”)

return true;

else

return false;

}

}

}

همچنین کد زیر هم صحیح است:

using System;using Chargoon.Didgah.BPMS.CommonApi;

 

namespace Chargoon.Didgah.BPMS.Runtime

{

public class ConditionalFlow : IConditionalFlow

{

public IExecution Execution { get; set; }

public bool Evaluate()

{

return Execution.StringValue(“ManagerApproval”) == “تایید”;

}

}

}


[ratemypost]