Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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("");
        }
Esempio n. 3
0
        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("");
        }