NET Expert.

مباحث ویژه و پیشرفته در برنامه نویسی دات نت فریم ورک

NET Expert.

مباحث ویژه و پیشرفته در برنامه نویسی دات نت فریم ورک

چک کردن معتبر بودن کد ملی با استفاده از Extention Method

قبلا در این پست درباره Extention Method ها و نحوه استفاده از آن مطالبی نوشته شد.
حال در این پست به نحوه استفاده از Extention Method برای چک کردن معتبر بودن کد ملی در نرم افزار می پردازیم :

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;
}

مثال:


string codeMelli = "4990003519";
bool isValid = codeMelli.IsValidCodeMelli();

حل مشکل ی و ک فارسی و عربی با استفاده از Extention Method

قبلا در این پست درباره 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

تبدیل ی و ک عربی به فارسی در SQL Server توسط T-SQL

شاید براتون پیش اومده باشه که تا قبل از اینکه نرم افزارتون آماده بشه تا کلمات و حروف عربی رو به فارسی تبدیل و در دیتا بیس ذخیره کنه ، کاربرا کلی حروف عربی توی دیتا بیس زده باشن.
​حالا ما اگر بخواهیم تمام حروف ی و ک عربی رو یه جدول دیتا بیس به حروف ی و ک فارسی تبدیل کنیم ، می تونیم از اسکریپت زیر استفاده کنیم.البته در این روش تمام جداول پایگاه داده به انضمام تمام فیلد های نوع متنی در نظر گرفته می شود و فقط کافیه جای 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


حل مشکل ی و ک فارسی و عربی در صفحات وب در ASP.NET

HttpModule  چیست:

در ASP.NET پردازش هر درخواست دارای مراحل یا فازهای مختلف است و در هر فاز رویدادهای مشخصی وجود دارد که با استفاده از HttpModuleها میتوانیم در این فرآیند تغییراتی ایجاد کنیم. به عنوان مثال می توانیم در اینجا عملیات لاگ کردن درخواستها، اعتبار سنجی درخواستها، بازنویسی Urlها و ... را به یک برنامه ASP.NET اضافه کنیم. برای مشاهده لیست این رویدادها و توضیحات بیشتر در این مورد اینجا را ببینید. در این مقاله برای سادگی بیشتر من فقط به دو تا از مهمترین رویدادها اشاره میکنم. این دو رویداد، BeginRequest (در لحظه دریافت درخواست توسط سرور) و EndRequest (پس از خاتمه پردازش درخواست توسط سرور) هستند و من در چند مثال موجود در این مقاله فقط از همین دو رویداد استفاده کرده ام.

ادامه مطلب ...