تفاصيل العمل

اولا تم بناء المشروع على :

.Net FrameWork 4.6

تم استخدام :

C# (WinForms)

Sql Server (DataBase)

GunaUi

ثانيآ فكرة التطبيق :

هو عبارة عن نظام إدارة رخص السائقين ويحتوي على هذه الخدمات الأساسية/

1- People Managment

2- Users Managment

3- Drivers Managment

4- Applications

تستطيع في قسم Applications تقديم طلبات على :

1- Local Driving License

2- International License (بشرط ان يكون معك رخصة محلية مفعلة من الفئة الثالثة)

ولديك 7 طلبات تستطيع التقديم فيها في هذا النظام :

1- New Local Driving Application

2- Renew Local Driving License

3- Replacement For Lost Local License Application

4- Replacement For Damaged Local License Application

5- Release Detained Driving License Application

6- New International Driving License Application

7- Retake Test Application

الان لنسترسل في قسم طلبات الرخص المحلية او Local Driving Licenses Applications /

في البداية عليك تقديم طلب من نافذة Add New Local Driving Licenses Application وتتكون من :

1- Find Person Control وهي عبارة عن كنترول قمت ببنائها بنفسي وظيفتها ان تظهر معلومات المواطن

اما عن طريق رقمة الوطني او عن طريق المعرف الخاص فيه "ID" واذا لم يكن هنلك مواطن مسجل في هذا النظام لديك زر في هذه الكنترول

يقوم بفتح Form او نافذة لاضافة مواطن جديد وعند اضافته بنجاح تقوم بارجاع ID الخاص فيه إلى الكنترول Find Person

وسيتم ملئ معلومات المواطن تلقائيآ

2- عند تحديد المواطن الذي سيقدم الطلب سترى في الصفحة التي تليها معلومات الطلب وايضا يعطيك جميع خيارات Licneses المتوفرة

او بمعنى آخر License Classes وسيطلب منك اختيار نوع محدد.

الانواع المتوفرة في النظام :

- Small Motorcycle

- Heavy Motorcycle License

- Ordinary driving license

- Commercial

- Agricultural

- Small and medium bus

- Truck and heavy vehicle

طبعآ عند اختيار نوع الرخصة وحفظ الطلب سيقوم النظام بالتحقق من :

- عدم وجود طلب مسبق مفعل او Active لهذا الشخص في نفس نوع رخصة القيادة

- عدم وجود رخصة قيادة مفعله او Active لهذا الشخص في نفس نوع رخصة القيادة

اذا تحقق احدى الامرين سيظهر Error للمستخدم ويخطره بالأمر ويطلب منه إدخال بيانات صحيحة.

وأيضآ يوجد في النظام نافذة Manage Local Driving License Applications ليستطيع المستخدم رؤية جميع الطلبات من هذا النوع في مكان

واحد حتى يسهل عليه إدارتها وتتكون هذه الصفحة من :

DataGridView لعرض جميع الطلبات من هذا النوع

فلتر للبحث في هذه الداتا وتستطيع فلترة البحث عن طريق :

1- Local Driving License Application ID

2- National Number

3- FullName

4- Ststus Of Application (New - Canceled - Completed)

الان ساوضح كيفية التعامل مع هذه الطلبات :

اذا قمت بالضغط على زر الماوس الايمن على إحدى الريكوردز الموجودة في DtatSet ستظهر Context Menu Strip وفيها عدة خيارات /

1- Show Details

وعند الضغط عليها ستنقلك إلى نافذة أخرى تقوم بعرض معلومات الطلب بالتفصيل مع معلومات المقدم لهذاالطلب

2- Add New

وعند الضغط عليها ستنقلك إلى نافذة Add New Local Driving License Application التي قمت بشرحها في الأعلى

3- Update

وعند الضغط عليها ستنقلك لنفس النافذة Add New Local Driving License Application لكن المميز في هذه النافذة ان فيها 2 Modes

Add New Mode & Update Mode وعن طريق Functionality معينه هي تقرر ما اذا كان تم إستدعائها للإضافة او للتعديل

4- Delete

بكل بساطة تقوم بحذف الطلب الذي تكون حالتة New فقط بعد ان يتم ظهور إشعار للمستخدم لتاكيد الحذف

اما اذا كان Canceled او Completed لن يتم حذفه

5- Cancel

يقوم بإلغاء الطلب بعد ان يتم ظهور إشعار للمستخدم لتاكيد الإلغاء

6- Sechdule Tests

وهي الاختبارات التي على المستخدم إجتيازها لأخذ الرخصة المحلية وعند الضغط عليها تظهر Context Menu اخرى فيها 3 خيارات /

- Vision Test

- Written Test

- Streat Test

عند الضغط على إحداها ستنقلك إلى نافذة أخذ موعد الإختبار وعندما يحين موعد الاختبار وينتهي تدخل إلى هذه النافذة وتحدد نتيجة هذا

الإختبار وطبعآ هنلك ميزات كثيرة هنا منها :

- لا يسمح بإضافة موعد اذا كان هنلك موعد Active لهذا الطلب ولم يتم تحديد نتيجنه وسيقوم بإظهار Error للمستخدم ليعلمه بذلك

- لا يسمح بإضافة موعد اذا نجح مقدم الطلب في هذا الإختبار

- تستطيع تغيير تاريخ الموعد اذا لم يتم أخذه

طبعا في النظام لا يمكنك عمل اختبار قبل الآخر يجب عليك عملهم بالترتيب لذلك في البداية يكون :

Vision Test = مفعل

Written Test = غير مفعل

Streat Test = غير مفعل

واذا قمت بإجتياز Vision Test سيتحقق النظام من ذلك ويجعله UnEnabled ويقوم بتفعيل الإختبار الذي يليه وإذا اتممت جميع الإختبارات

سيتم جعل Sechdule Tests غير مفعلة لانه اتم جميع الإختبارات

7- Isuue Driving License For First Time

عند الضغط عليها ستنقلك إلى نافذة إصدار الرخص وستقوم بإصدار رخصه لمقدم الطلب وطبعآ Isuue Driving License For First Time

ستكون UnEnabled إلى ان يتم إكمال جميع Tests بعدها سيتم تفعيل هذا الخيار بعدما تقوم بإصدار الرخصة سيتم إلغاء تفعيل هذا الخيار

وتفعيل الخيار التالي Show License Info

8- Show License Info

عند الضغط عليها ستنقلك إلى نافذة عرض معلومات الرخصه الخاصة بمقدم الطلب وستكون في بادئ الامر كما قلت في الأعلى UnEnabled

إلى ان يتم عمل Isuue Driving License For First Time بعدها سيتم تفعيل هذا الخيار

9- Show Person Licenses History

عند الضغط عليها ستنقلك إلى نافذة عرض جميع الرخص الخاصة بهذا الشخص

وهذه التفاصيل المهمه في Local Driving License Applications.

الان لننتقل إلى Renew Local Driving License /

ساقوم بشرحها بشكل مختصر حتى لا أطيل بكل اختصار هي خدمة من خلالها يستطيع العميل تجديد رخصة المنتهيه

وتتكون هذه النافذة من Find Local Driving License Control قمت بعملها بنفسي ووظيفتها نفس Find Person Info

ومعلومات هذا الطلب في الأسفل وعند الحفظ يتحقق النظام من ان الرخصة منتهيه اذا لم تنتهي لن يسمح للمستخدم بتجديدها.

الان لننتقل إلى Replacement For Lost Or Damaged Local License Application /

بكل اختصار هي خدمة من خلالها يستطيع العميل أخذ رخصة بدل ضائع او بدل تالف

وتتكون هذه النافذة ايضا من Find Local Driving License Control ومعلومات هذا الطلب في الأسفل وعند الحفظ يتحقق النظام

ما اذا كانت Active ام لا واذا لم تكن مفعلة لن يسمح النظام بهذا الطلب.

الان لننتقل إلى Release Detained Driving License Application /

هي خدمة يستطيع المستخدم من خلالها فك حجز رخصته المحجوزه وطبعا يتاكد النظام اولا انها Active وانها محجوزه من الأساس.

الان لننتقل إلى New International Driving License Application /

بكل اختصار هي نافذة من خلالها يستطيع العميل إصدار رخصة دولية ويشترط تحقق هذه الشروط :

1- ان يمتلك رخصة محلية

2- يشترط على الرخصة المحلية ان تكون من الفئة الثالثة او Ordinary driving license

3- ويشترط ان تكون الرخصه المحلية مفعله او Active

مالم تتحقق هذه الشروط سيتم منع إصدار الرخصة الدوليه وسيتم طلب معلومات صحيحة.

يوجد أيضا في النظام اقسام أخرى :

1- Manage Drivers

2- Manage Users

3- Manage People

4- Manage Application Types

5- Manage Tests Types

6- Account Settings

اتمنى انني شرحت بشكل واف وكافي واريد ان انوه انني اتبعت طريقة Three Tier Architecture

- Presentaion Layer

- Business Layer

- Data Access Layer

وفي هذا التطبيق اهمتيت في الاكثر على Logic ولم اهتم بشكل كبير في التصميم وهذا كان اخر مشروع عملته

شكرا...

ملفات مرفقة

بطاقة العمل

اسم المستقل عبدالله ا.
عدد الإعجابات 0
عدد المشاهدات 7
تاريخ الإضافة
تاريخ الإنجاز