سبد (0)

چاپ آیتم های Collection

چاپ آیتم های Collection

در این قسمت از آموزش Workflow، یک اکتیویتی سفارشی ایجاد خواهیم کرد و با استفاده از آن تمام آیتم های Collection را در کنسول چاپ خواهیم کرد.


مراحل انجام کار

 پروژه گردش کار PrintingCollectionItems شامل مراحل زير است:

  1. ايجاد يک پروژه از نوع Workflow Console Application
  2. ایجاد یک اکتیویتی که بتواند آیتم های Collection را در کنسول چاپ کند
  3. ايجاد و طراحي Workflow
  4. اجراي Workflow
  5. پروژه ي گردش کار PrintingCollectionItems  چگونه عمل مي کند؟

ايجاد يک پروژه از نوع Workflow Console Application

بعد از اینکه Visual Studio 2013 را اجرا نمودید منوی File -> New -> Project را انتخاب نمایید. 

در پنجره باز شده یعنی New Project از سمت چپ، از شاخه ی #Visual C گزینه ی Workflow را انتخاب نمایید. حالا از سمت راست Workflow Console Application را انتخاب نمایید.

قسمت Name و Solution name را بترتیب با PrintingCollectionItems و Chapter04 تنظیم نمایید. نهایتاً بعد از اینکه از محل ذخیره شدن پروژه مطمئن شدید (Location)، روی دکمه OK کلیک نمایید. 


ایجاد یک اکتیویتی که بتواند آیتم های Collection را در کنسول چاپ کند

در پنل Solution روی پروژه PrintingCollectionItems راست کلیک کرده و Add -> New Item را انتخاب نمایید. در پنجره باز شده مطابق شکل زیر Code Activity را انتخاب کرده و نام آنرا CollectionPrinter.cs قرار دهید:

حالا فایل CollectionPrinter.cs را باز کنید و کدهای زیر را در آن قرار دهید:

CollectionPrinter.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;

namespace PrintingCollectionItems
{
    public sealed class CollectionPrinter : CodeActivity
    {
        public InArgument<ICollection> CollectionInArg
        {
            get;
            set;
        }
        protected override void Execute(CodeActivityContext context)
        {
            ICollection collection = CollectionInArg.Get<ICollection>(context);
            if (collection.Count > 0)
            {
                Console.WriteLine("---Print Collection Start---");
                foreach (var item in collection)
                {
                    Console.WriteLine(item.ToString());
                }
                Console.WriteLine("---Print Collection End---");
            }
            else
            {
                Console.WriteLine("Collection is empty.");
            }
        }
    }
}

 پروژه را Build کنید تا اکتیویتی CollectionPrinter در پنل Toolbox ظاهر شود.


ايجاد و طراحي Workflow

فايل Workflow1.xaml را باز کنيد و برای طراحی گردش کار، موارد زير را انجام دهيد:

  1. از پنل Toolbox، اکتيويتي Sequence را بداخل صفحه بکشيد و مطابق عکس زير، متغير peopel را از نوع ICollection تعريف نماييد. براي تنظيم "Variable type" ابتدا از ليست کشويي گزينه ي Browse for type را انتخاب کنيد و سپس در پنجره نمايان شده  کلمه ي "ICollection" را وارد نماييد و مطابق شکل زیر عمل نمایید:
  2. از پایین صفحه، تب Import را انتخاب کرده و فضانام System.Collections.ObjectModel را اضافه نمایید.
  3. حالا اکتیویتی CollectionPrinter را به داخل Sequence بکشید و خصوصیت CollectionInArg آنرا با متغیر People تنظیم نمایید.

توجه: زمانی که اکتیویتی CollectionPrinter را به داخل صفحه می کشید، بلافاصله پنجره زیر ظاهر می شود که باید مطابق زیر نوع T را با String تنظیم نمایید:


اجراي Workflow

پروژه PrintingCollectionItems  را بعنوان پروژه StartUp تنظيم نماييد و در ادامه براي اجراي Workflow دکمه هاي ميانبر Ctrl+F5 را فشار دهيد:


پروژه ي گردش کار PrintingCollectionItems  چگونه عمل مي کند؟

در این قسمت از آموزش Workflow، یک اکتیویتی برای چاپ آیتم های Collection ایجاد کردیم. این اکتیویتی، شیء Collection مورد نظر ما را به عنوان ورودی دریافت کرده و با استفاده از یک حلقه foreach آیتم های آنرا در کنسول چاپ می کند.

هنگام تعریف متغیر People، مقدار پیشفرض آنرا به صورت زیر تنظیم کردیم، که این شیء بعنوان آرگومان ورودی برای اکتیویتی CollectionPrinter استفاده خواهد شد:

توجه: لطفاً توجه داشته باشید که از اکتیویتی ایجاد شده در این مطلب در آموزش های بعدی استفاده خواهد شد. بنابراین قبل از اینکه به مطلب بعدی مراجعه فرمایید، این پروژه را بصورت کامل انجام دهید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه