السلام عليكم اخواني الاعزاء ..
لقد انتهيت مؤخراً بحمد الله من تطوير مشروع سميته Installment_System .
فقلت , لماذا لا اطرحة في المنتدى عسى ان يستفيد منه الاخوة , حيث انه ممكن يساعد في الاجابة عن بعض المشاكل التي يواجهها المبتئدون في برمجة قواعد البيانات في الدوت نت , وايضاً في التقارير .
هذا المشروع كما ذكرت سابقاً عباره عن نظام قواعد بيانات لادارة جهه تقوم ببيع البضائع للعملاء بالتقسيط , بالاضافة الى البيع بالنقد , هذا بالاضافة الى التقارير .
قمت بعملية البرمجة بإستخدام لغه C# عن طريق بيئة Visual Studio.net 2003 وقاعدة بيانات MS Access .
يمكن القول بإن هيكل التعامل مع قاعدة البيانات من النوع2-Tier , حيث يوجد هناك DataLayer Classes وهي تتولى التخاطب مع قاعدة البيانات , وPresentation متمثلة بالنماذج .
ونمط الاتصال مع القاعدة هو من النوع المتصل Connect , طبعا كل عمليات التعامل مع قاعدة البيانات جلعتها من خلال الكود فقط .
قمت باستخدام مكون خارجي (Control Library ) وهو AMS.TextBox.dll , وهو عبارة عن مجموعه من الادوات استخدمتها كبديل عن الـ TextBox في بعض الحالات التي احتاج فيها الى عمل قناع ادخال , مثلاً ادخال التاريخ ..
يتكون المشروع من 22 نموذج و 10 تقارير , بالاضافة الى الـ Classes الخاصة بالـ DataLayer , واخيراً بعض الـ Classes العامه .
لكي يعمل المشروع (التقارير) , يجب ان يتم عمل Data Source باسم Ins_System , طبعاً ذلك يتم من خلال الذهاب الى Control Panel < Administrative Tools < Data Sources (ODBC) وبعده اختيار System DSN , واختيار قاعدة البيانات الموجودة في المجلد bin , كما في الصورة التالية :

موجود ايضاً في المجلد البرنامج بشكل exe .
اول ما يتم تشغيل البرنامج سوف تظهر رسالة ادخال كلمة المرور وهي افترضياً 123 , وممكن تغيرها فيما بعد من خلال الاعدادات ..
واول شئ يجب عمله هو عملية ادخال معلومات الاصناف من خلال قسم ادراة الاصناف , ومعلومات الجهات من خلال قسم ادارة الجهات , ثم ادارة مستحقات السحب والمقصود هنا موضع سحب الاقساط مثل الراتب , السلفة .. الخ , من خلال قسم ادارة السحوبات , وبعد ذلك ادخال الاقسام الخاصة بالجهات , والسحوبات المتاحة لكل قسم . واخيراً ادخال بيانات الضمناء .
طبعاً لن اتطرق الى قادة البيانات , بل اتركها لكم فهي ليست معقدة , ويمكنكم رؤية العلاقات الموجودة .
المشروع اخذ مني الكثير من الوقت خصوصاً اني كنت اعمل عليه بشكل متقطع , وايضاً كان اول متكامل لي بأستخدام الـ ADO.net , فكان المشروع فرصه للتعلم ايضاً ولم ينته المشروع تماماً .
طبعاً واجهت العديد من المشاكل , اول مشكلة تخطر ببالي الان هي التاريخ , حيث استخدمت مكتبة AMS.TextBox.dl , واستخدمت اداة قناع التاريخ ومشكلة الاداة انها بالصيغه m/d/y وليست d/m/y كما نحن متعودين , وهناك مشكلة غريبة ظهرت بسب لغه التاريخ , فلو كان ادخال التاريخ عربي , يظهر هناك استثناء .
اما المشاكل الاكبر التي فعلاً كما يقولون "شيبت شعري" هي التقارير وما ادراك ما التقارير . فلم اكن اتصور ان ترتيب الجداول والعلاقات بينها في الكريستال ريبورت يؤثر في النتائج . فاخذت مني الكثير من الوقت لكي اضبط العملية .
عموماً ارفقت لكم المشروع , وايضا يمكن التحميل من على الرابط التالي
http://www.hoduniv.net/~elearning/file.php...ment_System.rar
على امل ان يستفيد منه الاخوة , وايضاً حتى نناقش المشاكل التي تعتقدون انها موجودة فيه , حتى تعم الفائدة ..
وبالمناسبة , المشروع قمت بطرحة تحت رخصتي GPL و LGPL ..
ومنتظر ارائكم وردودكم ..

