بسم الله الرحمن الرحیم

در این گام می خواهیم بخشی از اطلاعات لیست مرتبط شده با Workflow خود را بازبینی کنیم (در مثال ما این اطلاعات مربوط به لیست گزارش هزینه ها است : اگر مبلغ هزینه وارد شده بالای هزار است می بایست مورد تایید مدیر مافوق قرار بگیرد در غیر این صورت صورت حساب پذیرفته می شود .)
در این بخش از کد و تمپلیتی که در گام قبلی تولید کرده ایم استفاده می کنیم .انجام این کار در شیر پوینت آسان است.
اکتیویتی OnWorkflowActivated توسط خصوصیتworkflowProperties  به workflow دیتا باوند شده است .

Description: image

اگر به کد دات نت متصل شده به تمپلیت دقت کنیم می بینیم که workflowProperties در این کد تعریف شده است :

همانطور که می بینید شی WorkflowProperties  از کلاس SPWorkflowActivationProperties  ساخته شده است . این کلاس پیوند میان بستر شیر پوینت و Workflow ما را ایجاد می کند .
برای مطالعه سایر ویزگی های این کلاس  ، به Workflow designer پروژه در ویژوال استودیو بروید و با کلیک بر روی شی onWorkflowActivated1 وارد بخش کد آن شوید .
با این کار یک ایونت هندلر در بخش کد آن تولید می شود . اگر در این تابع عبارت Workflowproperties را با یک دات (نقطه) وارد کنید لیست متد و ویزگی های این شی نمایش داده می شود . خصوصیات ارزشمندی مانند  ایتم انتخاب شده لیست ، لیست انتخاب شده ، شخص آغاز گر workflow  و ...

Description: image

بگذارید برای هر یک از ستون های لیست که می خواهیم اطلاعاتش را بررسی کنیم یک متغیر عمومی تعریف کنیم

Description: image

به دیزاینر برگردید و یک اکتیویتی ifelse از جعبه ابزار به صفحه بکشید  ( از جعبه ابزار windows workflow 3) .

Description: image

این ifElse و سایر شاخه ههایش را مانند شکل زیر نامگذاری کنید :

Description: image

ifSmallAmount را انتخاب کنید . از میان گزینه های بخش condition  پنجره باز شده گزینه Declarative Rule ConditionDeclarative   را انتخاب کنید .

Description: image

نام این condition را SmallAmount  بگذارید :

Description: image

روی کلید کناری بخش Condition Expression  کلیک کنید و توضیحات زیر را در بخش مربوطه وارد نمایید :

Description: image

Ok را انتخاب کنید . دو اکتیویتی کد از جعبه ابزار به محیط دیزاینر بیاورید و آنها را با Authorize و requestManagerApproval  نام گزاری کنید .

Description: image

روی هر کدام از هر دو اکتیویتی کلیک کنید تا ایونت هندلر مربوطه ایجاد شود و طبق شکل کد های لازم را در تابع authorize_ExecuteCode وارد کنید :

Description: image

از Workflow خود یک اجرا بگیرید .یک صورت حساب جدید با هزینه زیر 1000 به لیست خود اضافه کنید ، از workflow اجرا بگیرید .باید با حالتی شبیه تصویر زیر مواجه شوید :

Description: image

کد این بخش را می توانید از اینجا دریافت کنید