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

فراخوانی اطلاعات از 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

 

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

 

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


[ratemypost]