public
static
bool
IsValidCodeMelli(
this
string
codeMelli)
{
Int64 number;
int
sum = 0, temp;
Int64.TryParse(codeMelli,
out
number);
if
(Math.Log10(number) > 6 && Math.Log10(number) < 10)
{
temp = Convert.ToInt16(number % 10);
number /= 10;
for
(
int
i = 2; i < 11; i++)
{
sum += Convert.ToInt16(i * (number % 10));
number /= 10;
}
if
(((sum % 11 < 2) && (sum % 11 == temp)) ||
((sum % 11 >= 2) && ((11 - sum % 11) == temp)))
return
true
;
}
return
false
;
مثال:
قبلا در این پست درباره Extention Method ها و نحوه استفاده از آن مطالبی نوشته شد.
حال در این پست به نحوه استفاده از Extention Method در تبدیل حروف ی و ک عربی به فارسی در نرم افزار می پردازیم :
public static class Helper
}
(public static string FixPersianChars(this string Value
}
;(
'ی'
,
'ی'
)Replace.(
"ک"
,
"ک"
)
return Value.Replace
{
{
مثال :
;
"بابک کمائی" =
string txtLastName
;()string FixChars = txtLastName.FixPersianCharsشاید براتون پیش اومده باشه که تا قبل از اینکه نرم افزارتون آماده بشه تا کلمات و حروف عربی رو به فارسی تبدیل و در دیتا بیس ذخیره کنه ، کاربرا کلی حروف عربی توی دیتا بیس زده باشن.
حالا ما اگر بخواهیم تمام حروف ی و ک عربی رو یه جدول دیتا بیس به حروف ی و ک فارسی تبدیل کنیم ، می تونیم از اسکریپت زیر استفاده کنیم.البته در این روش تمام جداول پایگاه داده به انضمام تمام فیلد های نوع متنی در نظر گرفته می شود و فقط کافیه جای dbName نام دیتا بیس خودتون رو قرار بدید.
Use [dbName]
DECLARE @Table NVARCHAR(MAX),@Column NVARCHAR(MAX)
DECLARE Table_Cursor CURSOR
FOR
--پیدا کردن تمام فیلدهای متنی تمام جداول دیتابیس جاری
SELECT T.name, /* Table */
C.name /* Column */
FROM sysobjects T,syscolumns C
WHERE T.id = C.id AND T.xtype = 'u' /* User Table */
AND (C.xtype = 99 /* ntext */
OR C.xtype = 35 /* text */
OR C.xtype = 231 /* nvarchar */
OR C.xtype = 167 /* varchar */
OR C.xtype = 175 /* char */
OR C.xtype = 239 /* nchar */)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @Table,@Column
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXEC ('Update [' + @Table + '] Set [' + @Column + '] = REPLACE(REPLACE(CAST([' + @Column + '] as nvarchar(max)), NCHAR(1610), NCHAR(1740)), NCHAR(1603), NCHAR(1705))')
FETCH NEXT FROM Table_Cursor INTO @Table,@Column
END CLOSE Table_Cursor
DEALLOCATE Table_Cursor
HttpModule چیست:
در ASP.NET پردازش هر درخواست دارای مراحل یا فازهای مختلف است و در هر فاز رویدادهای مشخصی وجود دارد که با استفاده از HttpModuleها میتوانیم در این فرآیند تغییراتی ایجاد کنیم. به عنوان مثال می توانیم در اینجا عملیات لاگ کردن درخواستها، اعتبار سنجی درخواستها، بازنویسی Urlها و ... را به یک برنامه ASP.NET اضافه کنیم. برای مشاهده لیست این رویدادها و توضیحات بیشتر در این مورد اینجا را ببینید. در این مقاله برای سادگی بیشتر من فقط به دو تا از مهمترین رویدادها اشاره میکنم. این دو رویداد، BeginRequest (در لحظه دریافت درخواست توسط سرور) و EndRequest (پس از خاتمه پردازش درخواست توسط سرور) هستند و من در چند مثال موجود در این مقاله فقط از همین دو رویداد استفاده کرده ام.
ادامه مطلب ...