بنر مناسبتی

فرآیند با ایونت شروع پیام

شرح صورت مسئله: در فرآیندهایی که یک Pool با رویداد پایان از نوع پیام خاتمه می‌یابد و در همان سند فرایندی Pool بعدی با رویداد شروع از نوع پیام شروع می‌شود، نیاز است بعد از رویداد شروع پیام، با استفاده از کد زیر شروع‌کننده این Pool را مشخص کنیم تا در بخش شروع‌کننده، آرشیو فعالیت‌ها و همچنین فرآیندهای اجرایی نمایش داده شود.

فرآیند ایونت شروع پیام

using System;

using System.Data;

using System.Data.SqlClient;

using System.Globalization;

using Chargoon.Didgah.BPMS.CommonApi;

namespace Chargoon.Didgah.BPMS.Runtime

{

    public class ScriptTask : IScriptTask

    {

        public IExecution Execution { get; set; }

        public void Execute()

        {

// اتصال به دیتا بیس،  BPMSConnection نام رشته اتصال است.//

SqlConnection conn = new SqlConnection(Execution.GetConnectionString(“BPMSConnection”));

 using ( SqlCommand cmd = new SqlCommand())  {

 cmd.Connection = conn;

 cmd.CommandType =CommandType.Text;

// کوئری SQL که در آن نام شروع‌کننده فرایند را در جدول ProcessInstances درج می‌کنیم. //

 cmd.CommandText =@” UPDATE [Didgah_BPMS].[dbo].[bpm_ProcessInstances]

SET [StarterStaffId]=(SELECT [LastIntractorStaffId]  FROM [Didgah_BPMS].[dbo].[bpm_ProcessInstances]

WHERE [ProcessId]=@ProcessId AND [BusinessKey]=@BusinessKey AND  [Status]=3  )

WHERE [ProcessName]=Nنام فرایند با شروع‌کننده از نوع پیام AND  [BusinessKey]= @BusinessKey ” ;

cmd.Parameters.AddWithValue(“@BusinessKey”,Execution.GuidValue(“___BusinessKey”));

cmd.Parameters.AddWithValue(“@ProcessId”, Execution.IntegerValue(“___ProcessId”));

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

        }

    }

  }

}

نظرات کاربران 0 نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هفده − 1 =