در این چهارمین مقاله از مجموعه گیرندههای رویداد از راه دور، به بررسی برخی از موارد تجاری قابل اجرا در اطراف Remote Event Handlerها خواهیم پرداخت.
از طریق لینک های زیر می توانید به سه مقاله قبلی این مجموعه برسید:
- شیرپوینت 2013: گیرنده های رویداد از راه دور
- شیرپوینت 2013: نحوه توسعه گیرنده های رویداد از راه دور برای رویدادهای برنامه
- شیرپوینت 2013: نحوه توسعه گیرنده های رویداد از راه دور برای رویدادهای لیست و موارد فهرست
ما عملکرد سناریوهای زیر را بررسی خواهیم کرد که در هنگام کار با SharePoint List & List Items کاملا واضح هستند.
سناریو 1: نحوه محدود کردن کاربران برای حذف یک مورد خاص
برای نشان دادن این سناریو، بیایید یک مورد " Product-001-1 " را در نظر بگیریم که به لیست " محصولات " اضافه شده است، همانطور که در زیر نشان داده شده است:
اکنون بیایید سعی کنیم این مورد را به صورت حذف کنیم. در زیر مشخص شده است-
به محض اینکه کاربر سعی می کند مورد را حذف کند شیرپوینت به دنبال هر گیرنده رویداد ثبت شده با لیست می گردد و به دنبال تعریف گیرنده آن می گردد تا ببیند این گیرنده مجاز به دریافت چه رویدادهایی است و آن را اجرا می کند.
در مورد ما، ما تعریف گیرنده زیر را با لیست ثبت کرده ایم.
بیایید کد ثبت Remote Event Handler را بررسی کنیم -
از آنجایی که این یک رویداد قبل است (همانطور که در یکی از پست های قبلی " SharePoint 2013: Remote Event Receivers " توضیح داده شد)، ما باید کد را در روش " ProcessEvent " بنویسیم.
- مرحله 1 بررسی نوع رویدادی است که این گیرنده رویداد را با استفاده از Enum " SPRemoteEventType " و ویژگی " EventType " شی " SPRemoteEventProperties " راهاندازی میکند.
- مرحله 2 این است که با استفاده از مجموعه "ItemEventProperties" از شی " SPRemoteEventProperties " عنوان لیست را بررسی کنید و اطمینان حاصل کنید که حذف رویدادهای دریافت شده فقط از یک مورد خاص که در مورد ما " محصولات " است را مدیریت می کنیم.
- مرحله 3 این است که شرایط مورد نظر را بررسی کنید و در صورت رضایت، ویژگی های « ErrorMessage » و «Status» را که توسط شی « SPremoteEventResult » در معرض دید قرار می گیرند، تنظیم کنید.
در این مورد ما یک پیام کاربر پسند تنظیم کرده ایم و وضعیت را روی " CancelWithError " تنظیم کرده ایم. برای تمام مقادیر وضعیت معتبر، میتوانیم به دنبال « SPRemoteEventServiceStatus » Enum بگردیم.
- مرحله 4 این است که شی SPRemoteEventResult را به شیرپوینت
برگردانیم تنظیماتی که در مرحله 3 انجام دادیم به شیرپوینت اجازه می دهد رویداد ایجاد شده به دلیل عملکرد کاربر را خاتمه دهد و پیام خطا را به شیرپوینت برگرداند که همانطور که در زیر مشخص شده است به عنوان پیام خطا برای کاربر نمایش داده می شود.