کد استخراج شماره پرسنلی

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

نمایش شماره پرسنلی فرد روی فرم:

فرض کنید در یک فرآیند نیاز است که روی فرم یک فعالیت کاربر (UserTask) شماره پرسنلی یک فرد را نمایش دهیم.

با استفاده از کد زیر درون یک فعالیت-کدنویسی (ScriptTask) و همچنین نام فیلدی که  شماره پرسنلی را نشان می‌دهد را درون بخش پارامترهای خروجی فعالیت کدنویسی (ScriptTask) می‌توانیم تعریف کنیم. در اینجا این فیلد PersonnelNO است.

کد استخراج شماره پرسنلی

using System;

using System.Data;

using System.Data.SqlClient;

using Chargoon.Didgah.BPMS.CommonApi;

namespace Chargoon.Didgah.BPMS.Runtime

{

    public class ScriptTask : IScriptTask

    {

        public IExecution Execution { get; set; }

        public void Execute()

        {

// تعریف متغیر PersonnelNO  از جنس رشته تا مقداردهی شود.//

            string PersonnelNO = “”;

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

SqlConnection sqlConnection = new SqlConnection(Execution.GetConnectionString(“BPMS”));

     using (SqlCommand SqlCommand1 = new SqlCommand())

         {

                    SqlCommand1.Connection = sqlConnection;

               SqlCommand1.CommandType = CommandType.Text;

// کوئری SQL که در آن شماره پرسنلی را از جدول personnel و Staff با استفاده از متغییر @StaffID فرد مورد نظر، را به دست می‌آوریم. //

                SqlCommand1.CommandText = SELECT prs.PersonnelNo

                FROM Didgah_PersonnelSystem.dbo.prs_personnel as prs

                                  INNER JOIN Didgah_Common.dbo.com_Staff as staff

                                 ON prs.StaffId = staff.Id

                                 WHERE staff.Id = @StaffID”;

//متغیر @StaffID را در این بخش مقداردهی می‌کنیم. برای مثال در این بخش ___StarterStaffId  که مقدار

  StaffId فرد شروع‌کننده است را درون این متغیر می‌ریزیم.//

 SqlCommand1.Parameters.AddWithValue(“@StaffID”,

Execution.IntegerValue(“___StarterStaffId”));

                    sqlConnection.Open();

                    SqlDataReader reader = SqlCommand1.ExecuteReader();

                    while (reader.Read())

                {

// خروجی کوئری بالا که شماره پرسنلی فرد شروع‌کننده است را درون متغیر PersonnelNO می‌ریزیم.//

                    PersonnelNO = reader[0].ToString();

                }

                sqlConnection.Close();

// متغیر PersonelNO را درون فیلدی که روی فرم هست و قرار است شماره پرسنلی درخواست‌دهنده(PersonnelNO) را نمایش دهد می‌ریزیم.//

         Execution.SetVariable(“PersonnelNO”, PersonnelNO);

        }

    }

}

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

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

سه × 3 =