PDIM Kütüphanesi - Voodoo RPA

by onezero
3 sene ago
1464 Views

İçindekiler Tablosu


Voodoo Kod Adımı: Ana Sınıf

Aşağıdaki tasarım senaryo akışında kullanıcının kendi kodlarını yazıp kullanmasını sağlar. Aşağıda C# seçiminde üretilen kod adımının varsayılan kod versiyonu yer almaktadır. Hedef kodun ExecuteComputation yönteminde yazılması gerekir. Senaryo akışında bu aşamaya gelindiğinde bu ana metod çağrılır. Bu yöntem tamamlandıktan sonra senaryo diğer adımlara geçilir. Kodunuzu senaryoya entegre etmek için Voodoo Yerleşik Kitaplığından birini, yani Voodoo Plan Veri Örneği Yöneticisini (PDIM) kullanabilirsiniz.

namespace VoodooImplementation
{
    using System;
    using System.Windows.Forms;
    using VooDooCommonData.CommonInterface;
    using VooDooCommonData.InstanceData;

    public class ComputationEvaluator : System.MarshalByRefObject, IPlugInComputation
    {
        private bool result_;
        private VooDooCommonData.InstanceData.PlanDataInstanceManager planDataInstanceManager_;

        public ComputationEvaluator()
        {
        }

        public bool result
        {
            get
            {
                return result_;
            }
        }

        public virtual VooDooCommonData.InstanceData.PlanDataInstanceManager planDataInstanceManager
        {
            get
            {
                return planDataInstanceManager_;
            }
            set
            {
                planDataInstanceManager_ = value;
            }
        }

        public virtual void ExecuteComputation()
        {
            //First Initialized Method: Your Code Here
        }
    }
}

PlanDataInstanceManager Class

Constructors

Özellik Açıklama
PlanDataInstanceManager() Bir nesnenin yeni bir örneğini oluşturun.

Not: Bu nesne için, varsayılan sınıf şemasında yukarıda gösterildiği gibi Voodoo tarafından otomatik olarak oluşturulur. Yani, bunu manuel olarak oluşturmaya gerek yoktur.

Metotlar

Özellik Açıklama
void SetDataRowIndex (long dataDefinitionId, long dataRowIndex) Değeri Veri kaynağının hedef dizine taşır.

dataDefinitionId: Veri Kaynağı Kimliği (ID)
dataRowIndex: Ayarlanacak Dizin

Örnek: Kimliği 3 olan bir Veri kaynağı içerisinde ilk satıra dizini ayarlamak istiyorsanız. Aşağıdaki kodu kullanmalısınız.

planDataInstanceManager_.SetDataRowIndex(3, 0);

 

long GetDataRowIndex(long dataDefinitionId) Veri Kaynağındaki etkin satırı dizine geri döndürür.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Kimliği 3 olan bir Veri kaynağı oluşturuyorsunuz. Veri kaynağının bulunduğu konumunu almak istiyorsanız, aşağıdaki kodu kullanmanız gerekir.

long curRowIndex = planDataInstanceManager_.GetDataRowIndex(3);

 

void IncrementDataRowIndex(long dataDefinitionId) Veri kaynağının bulunduğu satırı bir arttırır.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Id’si 3 olan bir veri kaynağınız var ve içinde 10 kayıt var. Senaryo işlemi yürütmesi sırasında Veri Kaynağı başlatıldığında etkin satır 0’dır. Ve Veri kaynağının bulunduğu satır bir sonraki satıra kadar artırmak istiyorsanız, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager_.IncrementDataRowIndex(3);

 

bool CheckIfDataRowIndexLessThanDataRowCount(long dataDefinitionId) Etkin satır, veri kaynağındaki satır sayısından küçükse true döndürür, aksi takdirde false döndürür. Özellikle veri kaynağı son satıra geçip geçmediğini öğrenmek için kullanılır.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Id’si 3 olan bir veri kaynağınız var ve içinde bazı kayıtlar var. Ve Veri kaynağında yeni bir satır olup olmadığını bilmek istiyorsunuz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

if (planDataInstanceManager_.CheckIfDataRowIndexLessThanDataRowCount(3))
{
    result_ = true;
}
else
{
    result_ = false;
}

 

object GetDataTableValueFromCurrentDataRowIndex(long dataDefinitionId, string columnName) Veri kaynağın’daki aktif satırda parametre olarak verilen sütun değerini nesne tipi olarak döndürür.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Id’si 3 olan bir veri kaynağımız var ve içinde 5 kayıt var. Ve bu veri kaynağın’daki “Ad” sütunundaki aktif satırın değerini almanız gerekiyor. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

string ad = planDataInstanceManager_.GetDataTableValueFromCurrentDataRowIndex(3, “Ad”).ToString();
 
void SetDataTableValueFromCurrentDataRowIndex(long dataDefinitionId, string columnName, object value) Veri kaynağındaki aktif satırda parametre olarak verilen sütun değerine verilen değer olarak ayarlayın.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Id’si 3 olan bir veri kaynağımız var ve içinde 5 kayıt var. Ve bu veri kaynağındaki “Reklam” sütununun aktif satırına “Ahmet” değerini ayarlamanız gerekir. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

Not: Değişken sütun tipi ve set değeri tipi aynı olmalıdır.

planDataInstanceManager_.SetDataTableValueFromCurrentDataRowIndex(3, "Ad", "Ahmet");
object GetVariableValue(long dataDefinitionId) Veri kaynağındaki aktif satırda parametre olarak verilen sütun değerine verilen değeri döndürür.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Id’si 3 olan bir veri kaynağımız var ve içinde 5 kayıt var. Ve değeri ilk sütunun aktif satırından almanız gerekir. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

string deger = planDataInstanceManager_. GetDataTableValueFrom(3).ToString();
void SetVariableValueFrom(long dataDefinitionId, object value) Veri kaynağında etkin satırdaki ilk sütunun değerine verilen değeri ayarlar.
dataDefinitionId: Veri Kaynağı Kimliği (ID)

Value: Set value

Örnek: Id’si 3 olan bir veri kaynağımız var ve içinde 5 kayıt var. Ve bu veri kaynağının ilk sütununu aktif satırına “Suna” değerini ayarlamanız gerekir. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

Not: Değişken sütun tipi ve set değeri tipi aynı olmalıdır.

planDataInstanceManager_.SetDataTableValueFrom(3, "Suna");
Type GetDataTypeOfColumn(long dataDefinitionId, string columnName) Veri kaynağında istenen sütun türünün değerini döndürür.

dataDefinitionId: Veri Kaynağı Kimliği (ID)
columnName: Sütun adı istenen veri türü

Örnek: Id’si 3 olan bir veri kaynağımız var ve türü string olsun, “Ad” sütun tipini almanız gerekiyor. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

if (columnType ==  
    System.Type.GetType("System.String"))
{
    // ..
}
int SetDataTableValueFromCurrentDataRowIndexWithTypeConversion(long dataDefinitionId, string columnName, string stringValue) Veri kaynağın’daki aktif satırda parametre olarak verilen sütun değerine verilen değeri ayarlayın. Verilen değer bir string olduğu için gerekirse kolonun tipine bakarak stringin değerini kolon veri tipine atar.

dataDefinitionId: Veri Kaynağı Kimliği (ID)
columnName: Sütun adı istenen veri türü
Value: Set value

Örnek: Id’si 3 olan bir veri kaynağımız var ve içinde 5 kayıt var. Ve veri kaynağında “Adet” sütununun aktif sütununa “123” değerini ayarlamak için değeri çağırmanız gerekir. Bu nedenle, aşağıdaki kodu aramanız gerekir. Ayarlanan süre boyunca, sütun tipinin sayı olması durumunda işlev “123” dize değerini sayı olarak ayarlar.

Not: System.String, System.Int32, System.Int64, System.Decimal türleri desteklenir.

planDataInstanceManager_.SetDataTableValueFromCurrentDataRowIndexWithTypeConversion(3, “Adet”, “123”);
System.Data.DataRow GetNewRow(long dataDefinitionId) Veri kaynağına eklemek için yeni bir satır oluşturur.

dataDefinitionId: Veri Kaynağı Kimliği (ID)

Örnek: Id’si 3 olan bir veri kaynağımız var ve veri kaynağının sonuna 3 sütunlu yeni bir satır eklemeniz gerekiyor. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

Note: Bu işlev, satırı 1 artırmaz.

DataRow dr = planDataInstanceManager_.GetNewRow(3);
dr[0] = 0;
dr[1] = "";
dr[2] = "";
planDataInstanceManager_.AddRowToDataTable(3, dr);


void DeleteRowFromDataTable(long dataDefinitionId, int rowIndexToDelete) Veri kaynağından satır silme.

dataDefinitionId: Veri Kaynağı Kimliği (ID)
Value: Set value

Örnek: Id’si 3 olan bir veri kaynağımız var. Ve veri kaynağından bir satırı silmeniz gerekiyor. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager_.DeleteRowFromDataTable(3, 0);
void GetParameter(String dataFromDataSource, StringByRef data) Senaryo parametresini kod adımındaki bir değişkene atar.

dataFromDataSource: Senaryo parametresinin ismidir.
data: Kod içerisinde verinin tutulacağı değişken referansıdır.

Örnek:Senayoya parametre olarak gönderilen “ParaBirimi” adlı değişkeni kod içerisindeki “currency_” adlı değişkenine atamamız gerekiyor. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager_.GetParameter("ParaBirimi", ref currency_);
void AddRowToDataTable(int ID, DataRow dataRow) ID sini verdiğimiz veri kaynağına kod içerisinde tanımladığımız veri satırını ekler.

ID: Veri Kaynağı ID si
dataRow: Kod adımında tanımnlanan veri kaynağı satırı

Örnek: ID si 3 olan veri kaynağına satir adlı veri kaynağı satırını eklememiz gerekiyor. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

DataRow satir = planDataInstanceManager_.GetNewRow(3);
satir[0] = 0;
satir[1] = "";
satir[2] = "";
planDataInstanceManager_.AddRowToDataTable(3, satir);


String GetParameters() Senaryoya geçirilen parametre listesini geri döner.

Örnek: Senaryoda tanımlı tüm parametreleri almak istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager_.GetParameters();
bool GetRuntimeVar(string name, out object value) İsmi verilen çalışma zamanı değişkenine erişerek değerini geri döner.

name: Parametrenin adı.
value: Geri dönülen değer
Örnek: Data isimli çalışma zamanı değişkeninin değerini almak istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

object a;
planDataInstanceManager_.GetRuntimeVar("Data", out object a);
bool GetRuntimeVarWithStepId(string name, out object value, long stepId) İsmi verilen çalışma zamanı değişkenine erişerek değerini geri döner.

name: Parametrenin adı.
value: Geri dönülen değer.
stepId: Değişkeninin oluşturulduğu adımın id değeri.

Örnek: Data isimli 3. Adımda tanımlanan çalışma zamanı değişkeninin değerini almak istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

object a;
planDataInstanceManager_.GetRuntimeVarWithStepId("Data", out object a, 3);
void SetRuntimeVar(string name, object value) Senaryoda kullanılan adım tabanlı çalışma zamanı değişkenini yoksa oluştururak değerine atama yapar. Eğer değişken daha önce oluşturulmuş ise sadece değerini günceller.

Not: Çalışma zamanı değişkenleri senaryo bazlı olup, senaryo başlatıldığında sıfırlanır.

name: Parametrenin adı.
value: Atanacak değer.

Örnek: “p1” isimli çalışma zamanı değişkenine “a” değerini atamak istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager.SetRunTimeVar("p1", "a");
void SetRuntimeVarWithStepId(string name, object value, long stepId) Senaryoda kullanılan adım tabanlı çalışma zamanı değişkenini yoksa oluştururak değerine atama yapar. Eğer değişken daha önce oluşturulmuş ise sadece değerini günceller.

Not: Çalışma zamanı değişkenleri senaryo bazlı olup, senaryo başlatıldığında sıfırlanır.

name: Parametrenin adı.
value: Atanacak değer.
stepId: Değişkeninin oluşturulduğu adımın id değeri.

Örnek: “p1” isimli 3. Adımda tanımlanan çalışma zamanı değişkenine “a” değerini atamak istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager.SetRuntimeVarWithStepId("p1", "a", 3);
void RemoveRuntimeVar(System.String name) Senaryo da kullanılan çalışma zamanı parametresini siler.

name: Parametrenin adı.

Örnek: “p1” isimli çalışma zamanı değişkenini silmek istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager.RemoveRuntimeVar("p1");
void RemoveRuntimeVarWithStepId(System.String name ,Int64 stepId) Senaryo da kullanılan çalışma zamanı parametresini siler.

name: Parametrenin adı.
stepId: Değişkeninin oluşturulduğu adımın id değeri.

Örnek: “p1” isimli 3. adımda tanımlanan çalışma zamanı değişkenini silmek istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager.RemoveRuntimeVarWithStepId("p1", 3);
void GotoStep(long stepId) Akışı belirli bir adıma yönlendirir. Adım aynı akış içerisinde olmalıdır.

stepId : Akışın yönlenmesi istenilen adımın id değeri.

Örnek: Akıştaki Id değeri 115 olan adıma gitmek istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager.planDataInstanceManager_.GotoStep(115);
bool CheckIfExist(Int64 Id) Id si verilen veri kaynağının var olup olmadığını kontrol eder.

Örnek: Id si 3 o lan veri kaynağının var olup olmadığını kontrol etmek istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

planDataInstanceManager_.CheckIfExist(3);
void Log(VooDooCommonData.InstanceData.EnLogType LogType, System.String LogMessage) UC deki ilgili adımın loglarindaki sonuç bölümüne ve studiodaki ek bilgi alanina istenilen mesaji yazar

Örnek: Loglara veri bağlantısı yapıldı mesajı göndermek istiyoruz. Bu nedenle, aşağıdaki kodu kullanmanız gerekir.

Not: Log mesajlarında iki tip bulunur. Bunlar;
Type.Info: Bilgi Mesajı.
Type.Error: Hata Mesajı.

planDataInstanceManager_.Log(VooDooCommonData.InstanceData.EnLogType.Info, "Veri bağlantısı yapıldı");