private string[] GenerateLetterNumberDep(string pattern, string lastNumber, DateTime registerDate, int resetBy) { string date = DateXFormer.gregorianToPersianString(DateTime.Now); string[] output = new string[2]; for (int i = 0; i < pattern.Length; i++) { if ("Y".Equals(pattern[i].ToString())) { output[0] += getYear(pattern, ref i, date); } else if ("M".Equals(pattern[i].ToString())) { output[0] += getMonth(pattern, ref i, date); } else if ("D".Equals(pattern[i].ToString())) { output[0] += getDay(pattern, ref i, date); } else if ("#".Equals(pattern[i].ToString())) { lastNumber = takeEffectOfResetBy(lastNumber, resetBy, registerDate); int c = getNumCount(pattern, i); i += (c - 1); output[1] = getNextNumber(lastNumber, c); output[0] += output[1]; } else { output[0] += pattern[i]; } } return(output); }
private string getMonth(string pattern, ref int i, string shamsidate) { string month = DateXFormer.getShamsiMonth(shamsidate); int count = getRepeatCount(pattern, "M"); i += (count == 0 ? 0 : count - 1); switch (count) { case 0: return(""); case 1: return(month); case 2: return(month); case 3: throw new Exception("خطا در تعداد ارقام ماه تعیین شده ، لطفا با برنامه نویس تماس بگیرید"); } return(""); }
private string getYear(string pattern, ref int i, string shamsidate) { string year = DateXFormer.getShamsiYear(shamsidate); int count = getRepeatCount(pattern, "Y"); i += (count == 0 ? 0 : count - 1); switch (count) { case 0: return(""); case 1: return(year.Substring(year.Length - 1, 1)); case 2: return(year.Substring(year.Length - 2, 2)); case 3: return(year.Substring(year.Length - 3, 3)); case 4: return(year); case 5: throw new Exception("خطا در تعداد ارقام سال تعیین شده ، لطفا با برنامه نویس تماس بگیرید"); } return(""); }