الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ممكن مساعدة فى برنامج التامين الاجتماعى

بدأه مروة موسى السيد في 24 فبراير 2011 · 12 رد · 728 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوانى

انا عايزة مساعدة فى اعداد برنامج التامين الاجتماعى وجزاكم الله خيرا

فاولا انا اتمنى ان وجد مشروع جاهز اقرائه وادرسه لعل اجد فيها بما اتمناه وتبقوا مشكورين جدا يا اخواتى

فالمشكلة هنا

انا عندى شاشة خاصة لكتابة الاشتركات الشهرية لكل مشترك بالشركة التامين

فكل مشترك له له اشترك شهرى يختلف عنه سنه

فمثلا

اللى عنده 22 سنة فالاشتراك بتاعه كل شهر 150 جنيه

واللى عنده 23 فالاشتراك بتاعه كل شهر 200 جنيه

وهكذا ..

فانا بالتوفيق عاملت كل هذه

ولكن المشكلة بحد ذاتها

انا عايزة تلقائى بانه يسجل البيانات اوتوماتيك ( مع مرعاة )

ان البرنامج يسجل الاشتراك الشهرى تلقائا كل شهر معد الشهر السابق

بمعنى

احنا الان فى شهر 1

فالبرنامج هايسجل تمن الاشتراك بتاع الاخ محمد ابراهيم فى الداتا بيز بتاع شهر 1 وليس شهر 2

فالشهر 2 مش هايسجله الاشتراك بتاعه الا لما يجى الشهر 2

فدى فكرة بعمل طرح تاريخ بتاع بكره

من تاريخ بتاع النهارده

علشان يعطى تسجيل بتاع التاريخ بتاع النهارده فقطططططططططط

فلو فى حاجة مش واضحة انا هاوضحها لكم

بس انا اتمنى انى اجد فكره فى حل المشكلة دى

وجزاكم الله خيرااااااااااااااا

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

900857030.jpg

#2

السلام عليكم و رحمة الله و بركاته

مرحبا أختاه

بخصوص طلبك

سأطرح لك الفكرة العامة و أترك لك مرحلة التنفيذ وفقا لمعطياتك و حال مشروعك

للقيام مثل هذه المهمة يمكنك انشاء 2 Methods

الأول سيقوم بعملية التحديث

و ذلك بحساب عمره

أكيد الأكثر دقة حساب بالشنة و الشهر و اليوم لكن اذا اردت من باب التبسيط و التقريب

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

فاذا كانت الشهر الحالي أقل من الشهر الميلاد

اجعلي عامل التصحيح ب1 و اذا لم يكن كذلك يكون بصفر

و يكون العمر = سنة الحالي - عام الميلاد - عامل التصحيح

و أكيد تم تخزين القيمة المطلوبة طبقا للسن و ما اصبحت لديك سنه يمكن استعادة قيمة المبلغ المطلوب سداده

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

و أكيد هذا الMethod سيقوم بذلك لكل شخص مسجل لديك في قاعدة البيانات

و الMethod الثانية

سيراقب الوقت فيمكنك ان تخزين ميعاد التالي للتسديد و لنفترض أنه 1/3/2011

سيقوم هذا الMethod بمقارنة تاريخ اليوم بهذا الترايخ و اذا تساوي او زاد عنه يقوم بمناداة الMethod الأولي ثم يحفظ تاريخ التالي بدلا من التاريخ القديم

و يمكن حفظ التاريخ أما في قاعدة البيانات او XML او ملف نصي عادي و كل ما عليه ان يستعيد القيمة منه و يقارنه

و ربما حفظ القيمة بSerialization ربما يكون أسهل لكن الأمر متروك لك

ارجو ان اكون أفدتك

تقبلي خالص تحياتي

#3

متشكرة جدا يا اخى

انا مازلت بحاول والله المستعان

فاحاول واجرب الان وساخبرك

فارجو ان تكون معى وبارك الله فيك

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

900857030.jpg

#4

مممممم حسنا برأي أن تقومي باختبار للشهر والسنة الحاليين

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

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

DateTime dt = DateTime.Now;
dt.Month;
dt.Year;

تم تعديل هذه المشاركة بواسطة Tammam_KD في 24 فبراير 2011 في 19:07

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#5

انا هافهم حضرتك يا اخى على المشكلة بشكل موضح

دلوقتى حالا

فى جدول مسجل به المشتركين وليكن 20 مشترك

تمام ؟؟؟؟

وفى جدول تانى المفروض انه يتحفظ فيها الاعضاء المسجلين بالاضافة الى عدد الاشهر السنة ال هى

شهر 1 : السن 20 عاما - القسط 100 جنيه

شهر 2 : السن 20 عاما - القسط 100 جنيه

شهر 3 : السن 20 عاما - القسط 100 جنيه

.... الى شهر 12 ..

تمام

وطبعا سعر القسط الشهرى 100 جنيه لعمر 20 عاما

ولما تيجى السنة ال بعديها

هايكون عمره اصبح 21

فبتالى المفروض هاتسجل سجل جديد

شهر 1 : السن 21 عاما - القسط 120 جنيه

شهر 2 : السن 21 عاما - القسط 120 جنيه

شهر 3 : السن 21 عاما - القسط 120 جنيه

.... الى شهر 12 ..

كل ده ليه بقى ؟؟

علشان لما اطلع تقاريير تظظهرلى النتائج الاتية

السنة - الاسم - العمر - شهر 1 - شهر 2 - شهر 3 - شهر 4 - شهر 5 - شهر 12

2010 محمد احمد - 22 - 100 - 100 - 100 - 100 - 100 - 100

2011 محمد احمد - 23 - 120 - 120 - 120 - 120 - 120 - 120

2012 محمد احمد - 24 - 130 - 130 - 130 - 130 - 130 - 130

وده بناء على استعلام انا بقوم بعمله على ذلك فى التقاريير

select * from table where name = mohamed ahmed

تمام

انا عاوزة البرنامج يسجل تلقائى القسط الشهر فى ميعاده

يعنى فى شهر 1 يسجل الاسم محمد احمد ويسجل القسط 100 جنيه

وما يسجلش بردو فى شهر 2 الكلام ده ؛ علشان شهر 2 ليسه ماجاش

فارجوووووووووووووووو

الشرح بكل بساطة وجزاكم الله خيراااااااااااااااا :D

ارجو يا اخى ان كنت تقدر تعملى مثال بالسى شارب وملف وقاعدة بيانات اكسس

تبقى مشكور جدا جدا

تم تعديل هذه المشاركة بواسطة مروة موسى السيد في 24 فبراير 2011 في 19:12

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

900857030.jpg

#6

لا اله الا الله سبحانك انى كنت من الظالمين

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

900857030.jpg

#7

السلام عليكم و رحمة الله و بركاته

انا معك ان شاء الله

و لي ملاحظة صغيرة بعد اذن حضرتك

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

و القيمة تتغير حسب السن صحيح كلامي؟

اذا ستسجلين سن ميلاد الشخص و أسمه مع باقي البيانات طبعا

و ستسجلين إجمالي ما دفعه و حاليا مطلوب من كام بالضبط

و للتمكن من متابعة السداد يمكنك تسجيل القيمة المدفوعة مرتبط بتاريخ الدفع

و كل هذا أكيد يتم في قاعدة البيانات

و أكيد ستحتفظين بعلاقة السن و القيمة المستحقة شهريا

اذا لم تريدين ان تحفظيها على هذا النحو

السنة - الاسم - العمر - شهر 1 - شهر 2 - شهر 3 - شهر 4 - شهر 5 - شهر 12

2010 محمد احمد - 22 - 100 - 100 - 100 - 100 - 100 - 100

2011 محمد احمد - 23 - 120 - 120 - 120 - 120 - 120 - 120

2012 محمد احمد - 24 - 130 - 130 - 130 - 130 - 130 - 130

مع العلم انك عند استعراض تلك المعلومات من قاعدة البيانات يمكنك ان تعرض و تحسب كيفما شئت لتعرضها بهذا الشكل

و هذا مثال بسيط

الMethod الأولي

ملحوظة: يتم تكرار تلك السطور على كل اسم موجود بقاعدة البيانات

نفترض ان سن الشخص التي تم استرجاعها من قاعدة البيانات موجودة في متغير DateTime اسمه EmpAge مثلا

و ان المكتبة الذي يحتوي على السن و القيمة السمتحقة شهريا موجود بDictionary<int,int> و اسمه Payments


int Age = DateTime.Now.Year - EmpAge.Year - CorrectionFactor;
int DueAmount = Payments[Age];
int CorrectionFactor = (EmpAge.Month < DateTime.Now.Month) ? 1 : 0;

ثم تقومين بتحديث قاعدة البيانات بقيمة DueAmount

أما الMethod الثاني

فلنفترض ان هناك ملف نصي يحتوي على التاريخ التالي و هي 3/1/2011 (و هذا بالنظام الأمريكي حيث يسبق الشهر اليوم في كتابة التاريخ) موجود بملف مساره C:\Date.txt

و أن لا يوجد شيء بداخل الملف غير هذا

قومي بتنفيذ الكود التالي


System.IO.StreamReader sr = new System.IO.StreamReader(fs);
string datestring = sr.ReadLine();
DateTime NextDate = Convert.ToDateTime(datestring);
if (DateTime.Now > NextDate) Method1();
System.IO.FileStream fs = new System.IO.FileStream(@"C:\Date.txt", System.IO.FileMode.Open);

ارجو ان اكون ساعدتك اختاه

تقبلي خالص تحياتي

1
#8

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

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

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

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

واثناء العرض نستخدم استعلام يقوم بجلب كافة مدفوعات المستخدم خلال السنة الحالية او السابقة او السنتين الحالية والسابقة حسبما تريدين في الكود ..........

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

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

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#9

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

وجزاكم الله خير

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

900857030.jpg

#10

طيب يا جماعة تقريبا قربت احل لمشكلتى

بس عايزة الاتى وفقط

عايزة : اعمل مقارنة بين تاريخ دلوقتى وتاريخ بتاع ال اكبر من دلوقتى

لو التاريخ ال اكبر من ادول دلوقتى قتى يطلعلى اى رسالة

غير ذلك يطلعى رسالة بشكل اخر

يعنى عايزة اعمل مقارنة بتاريخ اليوم وليكن 28-2- 2011

و تاريخ ال اكبر منه ال هو بكره او بعد بكره

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

900857030.jpg

#11

السلام عليكم و رحمة الله و بركاته

يمكنك تنفيذ هذه الأكواد لتجربة المقارنة بين التواريخ


DateTime EmpAge = new DateTime(2011, 3, 1);
if (EmpAge.Date > TodayDate.Date) MessageBox.Show("After");
else if (EmpAge.Date == TodayDate.Date) MessageBox.Show("Current"); else MessageBox.Show("Before");
DateTime TodayDate = new DateTime(2011, 2, 28);

تقبلي خالص تحياتي

#12

الف شكر جدا يا اخى وبارك الله فيك

الله المستعان

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

900857030.jpg

#13

المشكلة اتحلت والحمد لله باستخدم هذا الكود

dim ss as date=textbox1.texet

dim o as date=ss.addyear("60")

ودلوقتى انا عندى مشكلة تانية بس انا هاعمل موضوع جديد عنها وهاطلب مساعدة فيها

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

900857030.jpg

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…