public static string GetLTRString(string unicode_string) { try { //Modified By Saeedeh Taheri, در بعضی از گزارشات مقدار پارامتر از نوع استرینگ منفی یک ارسال می شود و باعث ایجاد خطا در اجرای گزارش می شود. مثلا گزارش تحلیلی سطوح حساب ها هشت ستونی گزینش بر اساس تاریخ //1395/12/22, تغییر با نظر آقای محمدی if (string.IsNullOrEmpty(unicode_string) || unicode_string == "'-1'" || unicode_string == "-1") { return(unicode_string); } List <string> text_saman_string = new List <string>(); List <string> text_unicode_string = new List <string>(); if (unicode_string.IndexOf(Environment.NewLine) == -1) { text_unicode_string.Add(unicode_string); } else { text_unicode_string.AddRange(unicode_string.Split(Environment.NewLine.ToCharArray())); } string saman_string = ""; for (int x = 0; x < text_unicode_string.Count; ++x) { if (x > 0) { text_unicode_string.Add(Environment.NewLine); } CharData[] _cd; System.Collections.ArrayList _al = new System.Collections.ArrayList(); string reversed_unicode_string = TadbirDirectionHelper.ReverseString(text_unicode_string[x]); //saman_string = TadbirDirectionCodePage.UnicodeStringToSaman(reversed_unicode_string); _cd = TadbirDirectionCodePage.UnicodeStringToSaman(reversed_unicode_string); // _cd = TadbirDirectionHelper.StepOne_CalculateTextDataInfo(saman_string); _cd = TadbirDirectionHelper.StepTwo_CalculateTextDataInfo(_cd); _cd = TadbirDirectionHelper.StepThree_CalculateTextDataInfo(_cd); _al = TadbirDirectionHelper.ReOrdering(_cd); saman_string = ""; for (int i = 0; i < _al.Count; ++i) { saman_string += _al[i]; } text_saman_string.Add(saman_string); } saman_string = ""; for (int i = 0; i < text_saman_string.Count; ++i) { saman_string += text_saman_string[i]; } return(saman_string); } catch (Exception ex) { return(ex.Message); } }
public static string GetRTLString(string saman_string) { try { if (string.IsNullOrEmpty(saman_string)) { return(saman_string); } List <string> text_saman_string = new List <string>(); List <string> text_unicode_string = new List <string>(); if (saman_string.IndexOf(Environment.NewLine) == -1) { text_saman_string.Add(saman_string); } else { text_saman_string.AddRange(saman_string.Split(Environment.NewLine.ToCharArray())); } string unicode_string = ""; for (int x = 0; x < text_saman_string.Count; ++x) { if (x > 0) { text_unicode_string.Add(Environment.NewLine); } CharData[] _cd; System.Collections.ArrayList _al = new System.Collections.ArrayList(); string reversed_saman_string = TadbirDirectionHelper.ReverseString(text_saman_string[x]); //unicode_string = TadbirDirectionCodePage.SamanStringToUnicode(reversed_saman_string); //_cd = TadbirDirectionHelper.StepOne_CalculateTextDataInfo(unicode_string); _cd = TadbirDirectionCodePage.SamanStringToUnicode(reversed_saman_string); _cd = TadbirDirectionHelper.StepTwo_CalculateTextDataInfo(_cd); _cd = TadbirDirectionHelper.StepThree_CalculateTextDataInfo(_cd); _al = TadbirDirectionHelper.ReOrdering(_cd); unicode_string = ""; for (int i = 0; i < _al.Count; ++i) { unicode_string += _al[i]; } text_unicode_string.Add(unicode_string); } unicode_string = ""; for (int i = 0; i < text_unicode_string.Count; ++i) { unicode_string += text_unicode_string[i]; } unicode_string = unicode_string.Replace('ي', 'ی'); return(unicode_string); } catch (Exception ex) { throw new Exception(ex.Message); } }