السلام عليكم ورحمه الله
عندى كود بيستخرج بيانات الرقم القومى مثل النوع ذكر او انثي وتاريخ الميلاد ومحافظه الميلاد سي شارب
محتاج اغيرو الي فاكشن داخل قاعده البيانات
ارجو من اصحاب الخبره مساعدتى في تحقيق ذلك
دا-لاستخدام-الفاكشن
عندى كود بيستخرج بيانات الرقم القومى مثل النوع ذكر او انثي وتاريخ الميلاد ومحافظه الميلاد سي شارب
محتاج اغيرو الي فاكشن داخل قاعده البيانات
ارجو من اصحاب الخبره مساعدتى في تحقيق ذلك
كود :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MySchool
{
class ClassFuctions
{
public static string GetMohafza(string RakamKomy)
{
String MOhfza = "unknown";
String cod = RakamKomy.Substring(7, 2);
switch (cod)
{
case "01":
MOhfza = "القاهرة";
break;
case "02":
MOhfza = "الاسكندرية";
break;
case "03":
MOhfza = "بورسعيد";
break;
case "04":
MOhfza = "السويس";
break;
case "11":
MOhfza = "دمياط";
break;
case "12":
MOhfza = "الدقهلية";
break;
case "13":
MOhfza = "الشرقية";
break;
case "14":
MOhfza = "القليوبية";
break;
case "15":
MOhfza = "كفر الشيخ";
break;
case "16":
MOhfza = "الغربية";
break;
case "17":
MOhfza = "المنوفية";
break;
case "18":
MOhfza = "البحيرة";
break;
case "19":
MOhfza = "الاسماعيلية";
break;
case "21":
MOhfza = "الجيزة";
break;
case "22":
MOhfza = "بنى سويف";
break;
case "23":
MOhfza = "الفيوم";
break;
case "24":
MOhfza = "المنيا";
break;
case "25":
MOhfza = "أسيوط";
break;
case "26":
MOhfza = "سوهاج";
break;
case "27":
MOhfza = "قنا";
break;
case "28":
MOhfza = "أسوان";
break;
case "29":
MOhfza = "الاقصر";
break;
case "31":
MOhfza = "البحر الأحمر";
break;
case "32":
MOhfza = "الوادى الجديد";
break;
case "33":
MOhfza = "مطروح";
break;
case "34":
MOhfza = "شمال سيناء";
break;
case "35":
MOhfza = "جنوب سيناء";
break;
case "88":
MOhfza = "خارج الجمهورية";
break;
default:
MOhfza = "unknown";
break;
}
return MOhfza;
}
public static string GetGender(string RakamKomy)
{
int cod = Convert.ToInt32(RakamKomy.Substring(12, 1));
if (cod % 2 == 0)
return "0";
else
return "1";
}
public static DateTime GetBirthDate(string RakamKomy)
{
int centry = 17 + Convert.ToInt32(RakamKomy.Substring(0, 1));
int BYear = Convert.ToInt32(centry.ToString() + RakamKomy.Substring(1, 2));
int BMonth = Convert.ToInt32(RakamKomy.Substring(3, 2));
int BDay = Convert.ToInt32(RakamKomy.Substring(5, 2));
return new DateTime(BYear, BMonth, BDay);
}
public static int GetAgeDays(DateTime bDate)
{
return GetAgePartValue("d", bDate);
}
public static int GetAgeMonths(DateTime bDate)
{
return GetAgePartValue("m", bDate);
}
public static int GetAgeYears(DateTime bDate)
{
return GetAgePartValue("y", bDate);
}
private static int GetAgePartValue(string part, DateTime bDate)
{
int vYears = 0, vMonths = 0, vDays = 0;
vYears = DateTime.Today.Year - bDate.Year;
vMonths = DateTime.Today.Month - bDate.Month;
vDays = DateTime.Today.Day - bDate.Day;
if (vDays < 0) { vDays = vDays + 30; vMonths--; }
if (vMonths < 0) { vMonths = vMonths + 12; vYears--; }
if (part == "d") return vDays;
if (part == "m") return vMonths;
if (part == "y") return vYears;
return -1;
}
public static bool CheckNum(string RakamKomy)
{
if (GetMohafza(RakamKomy) == "unknown")
{
return false;
}
int centry = 17 + Convert.ToInt32(RakamKomy.Substring(0, 1));
int BYear = Convert.ToInt32(centry.ToString() + RakamKomy.Substring(1, 2));
int BMonth = Convert.ToInt32(RakamKomy.Substring(3, 2));
int BDay = Convert.ToInt32(RakamKomy.Substring(5, 2));
if (BMonth > 12 || BDay > 31)
{
return false;
}
if (GetAgeMonths(GetBirthDate(RakamKomy)) > 12)
{
return false;
}
return true;
}
}
}
دا-لاستخدام-الفاكشن
كود :
void National_Number()
{
// ------[كود استخرج بيانات الرقم القومى للموظف]------
if (this.Text_Numb.Text.Trim().Length == 14)
{
if (ClassFuctions.CheckNum(Text_Numb.Text))
{
this.Text_Govern.Text = ClassFuctions.GetMohafza(this.Text_Numb.Text); //المحافظه//
this.Com_Typ.SelectedIndex = Convert.ToInt32(ClassFuctions.GetGender(this.Text_Numb.Text).ToString()); //النوع//
this.Text_DatBirth.Text = ClassFuctions.GetBirthDate(this.Text_Numb.Text).ToString("yyyy/MM/dd"); //تاريخ الميلاد//
this.Text_Day.Text = ClassFuctions.GetAgeDays(Convert.ToDateTime(this.Text_DatBirth.Text)).ToString(); //حساب السن يوم//
this.Text_Mon.Text = ClassFuctions.GetAgeMonths(Convert.ToDateTime(this.Text_DatBirth.Text)).ToString(); //حساب السن شهر//
this.Text_Year.Text = ClassFuctions.GetAgeYears(Convert.ToDateTime(this.Text_DatBirth.Text)).ToString(); //حساب السن سنه//
//this.Text_Pension.Text = Convert.ToDateTime(this.Text_DatBirth.Text).AddYears(60).AddDays(-1).ToString("yy/MM/dd"); //سن المعاش//
}
else
{
MessageBox.Show("الرقم القومى الذي ادخلته غير صحيح");
}
}
else
{
MessageBox.Show("الرجاء التحقق من الرقم القومي");
}