خارطة الموقع برنامج مبيعات ونقاط البيع وجرد المستودعات ومحاسبة الرئيسية من نحن اتصل بنا English
يازسيس لهندسة البرمجيات
Skip Navigation Links
خوارزميات وانظمة التشفيرExpand خوارزميات وانظمة التشفير
|
نظام إدارة المبيعات
|
نظام إدارة العيادات
|
تعليم & شروحاتExpand تعليم & شروحات
 
سكربت موقع إلكتروني للفنادق (إدارة الموقع والحجوزات ومنع تضارب المواعيد) بالدقة Online Booking
بواسطة احمد عادل موسى
2014-11-19

بسم الله الرحمن الرحيم

أضع بين يديكم هذا السكربت المميز من خلال تقنية ASP.NET وبرمجة VB.NET وهو نظام أو موقع إلكتروني خاص في الفنادق مع لوحة تحكم ومن ميزات هذا السكربت.

  • إمكانية حجز المواعيد والغرف أو الصالات اون لاين
  • منع تضارب المواعيد
  • تصفح الغرف والمواعيد وعرض الأسعار والخصم
  • البوم صور وعنونة كل صورة بشكل مستقل
  • يتم عرض بيانات الفندق في صفحات الموقع بشكل ديناميكي من خلال قاعدة البيانات (صفحة حول الموقع، اتصل بنا، اسم الفندق.. الخ)

أما لوحة التحكم يمكنك من خلالها:

  • إدارة بيانات الفندق الأساسية والعامة (صفحة اتصل بنا، حول الفندق..)
  • إدارة البوم الصور وإضافة تقسيمات متعددة لصور الفندق
  • إدارة الموظفين (حذف، تعديل، إضافة) من صلاحيات المدير العام فقط
  • إدارة الحجوزات (المعلقة) وتأكيد حجزها
  • إظهار اسم الموظف الذي قام بتأكيد الحجز

---------------------

في الحقيقة من أصعب الأمور التي يواجهها أي مبرمج هي التعامل مع الوقت والتاريخ لأنك تتعامل مع أكثر من صيغة للتاريخ أو الوقت مثلاً

11/11/2014

11-11-2014

11-Sep-2014

وهناك ألآلاف الصيغ للوقت والتاريخ وهذا ما يسبب لنا عائق في البرمجة، في هذا السكربت او المشروع ما واجهنا من مشكلات هي منع تضارب المواعيد وهي من أصعب الأمور التي قد تتعامل معها في برمجة أنظمة المواعيد بغض النظر عن نوعها.

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

هناك من المبرمجين قدّ يستخدم جملة Between للبحث في قاعدة البيانات عن توفر هذا الموعد من عدمه فإن كان متوفر تظهر للمستخدم رسالة الاعتذار عن حجز الموعد وإن كان الموعد غير موجود في قاعدة البيانات فهذا يعني أن الموعد متاح ويمكنه حجزه... !

أن جملة Between جيدة للبحث عن المدى في قاعدة البيانات لكن لا يمكنها اكتشاف الأرقام الوسطية خصوصاً عند نقطة البداية للموعد آو نهايته لذا إياك وان تستخدم جملة Between  لبرمجة أنظمة المواعيد أو الحجوزات.

في الصورة التالية لاحظ الخطأ الفادح عند استخدام جملة Between عند البحث في قاعدة البيانات أي ما بين رقمين من كذا إلى كذا وليكن عرض السجلات والتي تبدأ من رقم 3 ولغاية الرقم 7 وستظهر لك النتيجة كما يلي:

أي أن النتائج أو السجلات التي ستظهر هي 3 و 4 و5 و6 و7  وفقط وفي حال قام مستخدم آخر بطلب تلك المواعيد أو الأرقام ستظهر له رسالة بأن الموعد المحدد محجوز لكن انظر للخطأ وهو إذا قام المستخدم بحجز المواعيد الوسطية أي رقم من 3 ولغاية 7 مثلا 4 أو 5 أو 6 فإن النظام يسمح له بالحجز بالرغم من عدم توفر الموعد وهنا المصيبة لا بل الغباء البرمجي.

إذا ما هو الحل؟

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

ولحل هذه المشكلة لقد قمنا بإنشاء حقلين مخفيين داخل جدول الحجوزات (الحقل الأول لحفظ تاريخ بداية الحجز كأرقام أما الأخر لحفظ تاريخ نهاية الحجز كأرقام) كيّ نتعامل مع تلك الأرقام برمجياً بكل سهولة ودقة. ولكيّ نمنع أي خطأ في حجز آو تضارب المواعيد استعملنا معادلات الأكبر < والأصغر > في جملة  Select اي  فرز السجل الذي يكون محصور كأكبر وكأصغر من تاريخ البداية و النهاية. كما في الصورة التالية:

ولكن لدينا مجموعة من الغرف أو الصالات ويجب أن نراعي أن نسمح للمستخدم أو لمستخدم آخر حجز الموعد لغرفة أخرى آو لصالة أخرى وعلى نفس جدول الحجوزات!

وبهذا فأن لدينا شرطين الأول أن نسمح بحجز غرف متعددة أو صالات متعددة بشرط ألا تتضارب المواعيد !

وهذا جملة Select الأنسب لحل المشكلة:

  SelectCommand="SELECT [IDBooking], [IDRoomsHalls], [DateFromInteger], [DateToInteger] FROM [BookingTable] WHERE (([IDRoomsHalls] = @IDRoomsHalls) AND ([DateFromInteger] &lt;= @DateFromInteger) AND ([DateToInteger] &gt;= @DateToInteger))">

 

اترككم الأن مع الصور لتتحدث عن نفسها قبل التحميل

 

 

 

 

لوحة التحكم

 

 

 

 

 

 

 

 

 

 

صورة المشروع

 

 

 

تحميل المشروع

 

 

 
 
إعلان ... لأصحاب المتجار فقط - برنامج تنفيذي وليس سورس كود
تحميل برنامج مبيعات وجرد المستودعات

 
 
الصفحة الرئيسية
خوارزميات التشفير English
خوارزميات التشفير العربية
تصميم مشاريع التخرج
تصميم المواقع الإلكترونية
تصميم وإنتاج البرمجيات
مشاريع برمجة متنوعة مفتوحة المصدر
دورة برمجة وتصميم مواقع الكترونية
مواضيع ودروس تعليمية
مواضيع ومقالات عامة
إذاعة القرآن الكريم
اتصل بنا
نبذة عن هذا الموقع
خارطة الموقع
نظام إدارة المبيعات
نظام إدارة العيادات