namespace NetinaShop.Common.Extensions { public static class StringExtensions { public static string ToPriceWhitPriceType(this long price, string priceType) { return price.ToString("N0") + " " + priceType; } public static string ToPriceWhitPriceType(this decimal price, string priceType) { return price.ToString("N0") + " " + priceType; } public static string ToPriceWhitPriceType(this double price, string priceType) { return price.ToString("N0") + " " + priceType; } public static bool HasValue(this string value, bool ignoreWhiteSpace = true) { return ignoreWhiteSpace ? !string.IsNullOrWhiteSpace(value) : !string.IsNullOrEmpty(value); } public static int ToInt(this string value) { return Convert.ToInt32(value); } public static decimal ToDecimal(this string value) { return Convert.ToDecimal(value); } public static string ToNumeric(this int value) { return value.ToString("N0"); //"123,456" } public static string ToNumeric(this decimal value) { return value.ToString("N0"); } public static string ToCurrency(this int value) { //fa-IR => current culture currency symbol => ریال //123456 => "123,123ریال" return value.ToString("C0"); } public static string ToCurrency(this decimal value) { return value.ToString("C0"); } public static string En2Fa(this string str) { return str.Replace("0", "۰") .Replace("1", "۱") .Replace("2", "۲") .Replace("3", "۳") .Replace("4", "۴") .Replace("5", "۵") .Replace("6", "۶") .Replace("7", "۷") .Replace("8", "۸") .Replace("9", "۹"); } public static string Fa2En(this string str) { return str.Replace("۰", "0") .Replace("۱", "1") .Replace("۲", "2") .Replace("۳", "3") .Replace("۴", "4") .Replace("۵", "5") .Replace("۶", "6") .Replace("۷", "7") .Replace("۸", "8") .Replace("۹", "9") //iphone numeric .Replace("٠", "0") .Replace("١", "1") .Replace("٢", "2") .Replace("٣", "3") .Replace("٤", "4") .Replace("٥", "5") .Replace("٦", "6") .Replace("٧", "7") .Replace("٨", "8") .Replace("٩", "9"); } public static string FixPersianChars(this string str) { return str.Replace("ﮎ", "ک") .Replace("ﮏ", "ک") .Replace("ﮐ", "ک") .Replace("ﮑ", "ک") .Replace("ك", "ک") .Replace("ي", "ی") .Replace(" ", " ") .Replace("‌", " ") .Replace("ھ", "ه"); //.Replace("ئ", "ی"); } public static string CleanString(this string str) { return str.Trim().FixPersianChars().Fa2En().NullIfEmpty(); } public static string NullIfEmpty(this string str) { return str?.Length == 0 ? null : str; } public static string GetId(int length = 8) { return Guid.NewGuid().ToString("N").Substring(0, length); } public static string ConvertTo3Digit(this string str) { str = string.Concat(str.Split(',')); var array = str.ToCharArray(); Array.Reverse(array); str = new string(array); var newStr = ""; for (var i = 0; i < str.Length; i++) { newStr += str[i]; if ((i + 1) % 3 == 0) newStr += ","; } var newarray = newStr.ToCharArray(); Array.Reverse(newarray); newStr = new string(newarray); if (newStr.Length > 0 && newStr[0] == ',') newStr = newStr.Substring(1); return newStr; } public static string ConvertToOrginal(this string str) { return string.Concat(str.Split(',')); } public static string CheckPhoneNumber(string phoneNumber) { if (phoneNumber.Substring(0, 3).Contains("+98")) phoneNumber = phoneNumber.Replace("+98", "0"); else if (phoneNumber.Substring(0, 2).Contains("98")) phoneNumber = string.Concat("0", phoneNumber.Substring(2)); else if (phoneNumber[0] != '0') phoneNumber = string.Concat("0", phoneNumber); return phoneNumber; } } }