WORKFLOW FOUNDATION (WWF) 4.0 GİRİŞ – 2

Workflow Giriş 1 deki örnek entityler üstünden konuyu biraz daha detaylandıralım

Peşpeşe işlemler yapacak bir workflow örneği yapalım

Bunun için Toolboxtan  — >Control Flow– >Sequence activity Activity Builderımız içine(Activity1.xaml diye oluşturduğumuz xaml dosyası içine) sürükle bırak yapıyoruz

Şöyle bir senaryomuz olsun;

Bir üniversitede eğer gelen kişi öğrenci ise 5 lira ,öğretmen ise 10 lira olarak ödenecek menü

bedeli olsun.Bunun için Scope Sequence olacak şekilde bir variable tanımlayalım ve ismi OdenecekTutar olsun.Ve workflowa değer alabilmek için PersonArgument isimli bir bir argüman tanımlayalım.(Argüman ve variable arasındaki farkları  WORKFLOW FOUNDATION (WWF) 4.0 GİRİŞ – 1 makalesinde mevcuttur)

Daha sonra Sequence içine yine Toolbox– >Control Flow– >If kontrolü sürekle bırak yapıyoruz.Ifin içindeki then ve else kısımlarında koşulumuza göre OdenecekTutar ımızın değerini belirleyeceğimiz için Toolbox — >Primitives içinden Assign kontrolünü atıyoruz

If Condition kısmının expressionına PersonArgument.PersonType = 1

Yazıyoruz.Ve bizim senaryomuza göre PersonType 1 se Öğrenci,2 seyse Öğretmen olsun ve OdenecekTutar Variables da buna göre 5 veya 10 olacak.Bunu belirlediğimiz kısım ise if kontrolün blokları içine yerleştirdiğimiz Assign kontrolünde To ve Value alanlarına gereken değeri vermektir.En son olarak ise WriteLine ödenecek tutarı ekrana yazdırıyoruz.

Program cs içerisinde ise yine workflowa gelecek Argumentin değerini ve invoke edeceğimiz xaml dosyamızın adını belirtiyoruz.

Student p = new Student { Name = “Bilgehan”, Age = 26, PersonType = 1,StudentNumber=”357″ };

Dictionary<string, object> argumentlist = new Dictionary<string, object>();

argumentlist.Add(“PersonArgument”,p);

//WorkflowInvoker.Invoke(new Workflow1(),argumentlist);

WorkflowInvoker.Invoke(new Activity1(), argumentlist);

Console.ReadLine();

Bu yazı .NET kategorisine gönderilmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>