لدي إشكالية لمعرفة عمل Approval and rejeted

لدي سؤال بخصوص أريد اضافة خاصية الموافقة والرفض

حيث إذا رفع الطلب يحتاج الى عدة موافقات مثلا من المدير الاول والمدير الثاني والمدير الاعلى

الى الان لدي اشكالية في عملها حيث اني بحثت كثيرا ولم اجد مصادر لشرح مثل هالأمثله لعل الخطأ مني لم اعرف كيف ابحث عن هذه المصادر من لديه مثل هالمصادر والشروحات فليتفضل بوضعها هنا . وايضا مثل هذه العملية ماذا تسمى في عالم البرمجة

أبرمج على

#ASP.NET MVC 5 C


مرحباً،

دعني أعطيك المثال التالي و لنقل أننا نريد إنشاء نظام يُمكن المُستخدمين من طلب قروض و بالتالي هناك عمليات كثيرة تحدث ينتقل فيها الطلب من مُستوى لآخر و في كل مرة هناك إمكانية لقبول الطلب او رفضه تحتاج أولاً إلى تحديد مُستخدمين النظام بداية من المُستخدم العادي الذي يريد طلب القرض إلى المٌدير أو مشرف النظام بالإضافة للعاملين معه في الإدارة و لنقل أن هناك مُحلل (analyst) و مدير مالي CFO و بالتالي فإنه يجب عليك إنشاء نظام لهؤلاء المستخدمين و تقسيم الصلاحيات حسب الدور المُخصص لكل مُستخدم و هذا أول شي تُفكر فيه عند إنشاء أي تطبيق او نظام ^من هم المستخدمين ^

بعد تحديد المستخدمين و توزيع الصلاحيات نأتي إلى تحديد الحالات المُمكنة للطلب فالمستخدم العادي يُمكن ان تظهر له الحالات التالية: قيد المُعالجة، مرفوض، مقبول اما المُشرف فيظهر له جميع الحالات التي يراها المُستخدم العادي بالإضافة إلى الحالات الأخرى فيُمكن للطلب أن يُقبل أو يُرفض من طرف المحلل نفس الشيء من طرف المدير المالي. و بهذا الشكل يتبين لنا أنه يوجد جدول للحالات و جدول للقروض كل قرض لديه حالة واحدة مُتغيرة لذلك ستضع مُعرف الحالة في جدول القروض و تضع العلاقة على أساسه إذا قلنا أن الطلب يُسند إلى مُحلل واحد و مدير مالي واحد فيجب وضع مُعرفي كل منهما في جدول القروض أيضاً إذا إعتبرنا أن القرض يُنشأ من خلال مُستخدم فسنضع عمود لمٌعرف هذا المُستخدم في جدول القروض . و بالتالي يُصبح لدينا نظام صلاحيات و مستخدمين يشمل عدة جداول مربوطة ببعضها: أدوار ، مستخدمين، صلاحيات بالإضافة إلى جداول وسيطة بينهم و أيضا جدول القروض المربوط بجدول المستخدمين و جدول الحالات المُمكنة، يُمكن إضافة جدول للتعليقات او الاحداث لحفظ التغيرات التي تحدث في كل عملية تغيير للحالة و تربطه بجدول القروض.

إبحث عن roles and permissions و authorizations و multi level approval managment و Multi-level approval workflows و ستجد بعض المصادر إبحث أيضا في github فستجد بعض الأنظمة تُشبه ما تريد القيام به .

الموضوع الذي تبحث عنه لا يتعلق بلغة برمجة مُعينة فهو موضوع يتفرع منه بعض الأمور الأخرى و لن تجد مصادر كثيرة تشرح الأمر بأكمله بل ستجد أشياء مُتفرقة لذلك إبحث في github و ستجد مجموعة من الأنظمة و الأكواد مفتوحة المصدر بإمكانها مُساعدتك.

بالتوفيق.