بسم الله الرحمن الرحیم
در این گام می خواهیم بخشی از اطلاعات لیست مرتبط شده با Workflow خود را بازبینی کنیم (در مثال ما این اطلاعات مربوط به لیست گزارش هزینه ها است : اگر مبلغ هزینه وارد شده بالای هزار است می بایست مورد تایید مدیر مافوق قرار بگیرد در غیر این صورت صورت حساب پذیرفته می شود .)
در این بخش از کد و تمپلیتی که در گام قبلی تولید کرده ایم استفاده می کنیم .انجام این کار در شیر پوینت آسان است.
اکتیویتی OnWorkflowActivated توسط خصوصیتworkflowProperties به workflow دیتا باوند شده است .
اگر به کد دات نت متصل شده به تمپلیت دقت کنیم می بینیم که workflowProperties در این کد تعریف شده است :
همانطور که می بینید شی WorkflowProperties از کلاس SPWorkflowActivationProperties ساخته شده است . این کلاس پیوند میان بستر شیر پوینت و Workflow ما را ایجاد می کند .
برای مطالعه سایر ویزگی های این کلاس ، به Workflow designer پروژه در ویژوال استودیو بروید و با کلیک بر روی شی onWorkflowActivated1 وارد بخش کد آن شوید .
با این کار یک ایونت هندلر در بخش کد آن تولید می شود . اگر در این تابع عبارت Workflowproperties را با یک دات (نقطه) وارد کنید لیست متد و ویزگی های این شی نمایش داده می شود . خصوصیات ارزشمندی مانند ایتم انتخاب شده لیست ، لیست انتخاب شده ، شخص آغاز گر workflow و ...
بگذارید برای هر یک از ستون های لیست که می خواهیم اطلاعاتش را بررسی کنیم یک متغیر عمومی تعریف کنیم
به دیزاینر برگردید و یک اکتیویتی ifelse از جعبه ابزار به صفحه بکشید ( از جعبه ابزار windows workflow 3) .
این ifElse و سایر شاخه ههایش را مانند شکل زیر نامگذاری کنید :
ifSmallAmount را انتخاب کنید . از میان گزینه های بخش condition پنجره باز شده گزینه Declarative Rule ConditionDeclarative را انتخاب کنید .
نام این condition را SmallAmount بگذارید :
روی کلید کناری بخش Condition Expression کلیک کنید و توضیحات زیر را در بخش مربوطه وارد نمایید :
Ok را انتخاب کنید . دو اکتیویتی کد از جعبه ابزار به محیط دیزاینر بیاورید و آنها را با Authorize و requestManagerApproval نام گزاری کنید .
روی هر کدام از هر دو اکتیویتی کلیک کنید تا ایونت هندلر مربوطه ایجاد شود و طبق شکل کد های لازم را در تابع authorize_ExecuteCode وارد کنید :
از Workflow خود یک اجرا بگیرید .یک صورت حساب جدید با هزینه زیر 1000 به لیست خود اضافه کنید ، از workflow اجرا بگیرید .باید با حالتی شبیه تصویر زیر مواجه شوید :
کد این بخش را می توانید از اینجا دریافت کنید