فراخوانی اطلاعات از OrphanList

شرح صورت مسئلهفرض کنید در یک OrphanList  مشخصات تعدادی راننده وجود دارد و در بخشی از فرآیند نام راننده مورد نظر را انتخاب می‌کنیم و در بخش بعدی قصد داریم مشخصات راننده منتخب را روی فرم نمایش دهیم .

ابتدا در مدل داده‌ایی(DataModel) فرایند یک فیلد از جنس رابطه (Relation) تعریف می‌کنیم(DriverName) و OrphanList  رانندگان (DriverProfile) را به آن اختصاص می‌دهیم و باقی اطلاعات راننده را طبق فیلدهای OrphanList  در مدل داده‌ایی تعریف می‌کنیم. سپس در بخش پارامترهای خروجی فعالیت کاربری(UserTask) که نام راننده انتخاب شده، فیلد نام راننده را تعریف می‌کنم(ازنوع Guid).

و درون یک فعالیت کدنویسی(ScriptTask) کد زیر را نوشته و در بخش پارامترهای خروجی آن تمامی فیلدهای مشخصات راننده را تعریف می‌کنیم.(PhoneNumber,CarName ,CarTag)

فیلدهای OrphanList

مدل داده‌ای

تنظیمات فیلد رابطه

تنظیمات نام راننده

ارسال درخواست

پارامترهای خروجی

راننده مورد نظر

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()

{

//تعریف متغییرهایی قرار است در آن مشخصات راننده ریخته شود.//

string PhoneNumber =””;

string CarName =””;

string CarTag =””;

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

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

using (SqlCommand cmd = new SqlCommand())

{

cmd.Connection = conn;

cmd.CommandType =CommandType.Text;

// کوئری SQL که در آن با استفاده از نام راننده منتخب (DriverName@) اطلاعات آن از جدول ارفن// //موردنظر(DriverProfile)انتخاب میشود. //

cmd.CommandText =@” SELECT

PhoneNumber

,CarName

,CarTag

FROM [Didgah_DynamicDataModel].[dbo].[ddm_Orphan_DriverProfile]

WHERE Guid=@DriverName “;

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

conn.Open();

SqlDataReader reader = cmd.ExecuteReader();

while(reader.Read())

{

PhoneNumber = reader[0].ToString();

CarName =reader[1].ToString();

CarTag =reader[2].ToString();

}

conn.Close();

}

//مقداردهی فیلد های روی فرم //

Execution.SetVariable(“PhoneNumber”,PhoneNumber);

Execution.SetVariable(“CarName”,CarName );

Execution.SetVariable(“CarTag”, CarTag );

}

}

}

همچنین لازم به ذکر است که اگر باقی فیلدها در مدل داده‌ایی از جنس رابطه با همان OrphanList انتخاب کنیم، می‌توانیم در قسمتی که پارامت‌های ورودی را تعریف کرده‌ایم به فیلدها مقدار فیلد رابطه‌ایی را بدهیم که در مرحله قبلی انتخاب شده است. (DriverName)تا بدون نیاز به کدنویسی این کار را انجام دهیم:

ساختار تکمیلی

ارسال درخواست 2

بررسی درخواست

فراخوانی اطلاعات راننده

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

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

بیست − 20 =