1796    {
 1797        if ((result.flags & ParseFlags.HaveDate) != 0)
 1798        {
 1799            result.SetBadDateTimeFailure();
 1800            return false;
 1801        }
 1802        int number = raw.GetNumber(0);
 1803        int number2 = raw.GetNumber(1);
 1805        {
 1806            result.SetFailure(ParseFailureKind.FormatWithParameter, 
"Format_BadDatePattern", dtfi.
ShortDatePattern);
 
 1807            return false;
 1808        }
 1809        if (order == 1 || order == 0)
 1810        {
 1811            if (
SetDateYMD(ref result, raw.year, number, number2))
 
 1812            {
 1813                result.flags |= ParseFlags.HaveDate;
 1814                return true;
 1815            }
 1816        }
 1817        else if (
SetDateYMD(ref result, raw.year, number2, number))
 
 1818        {
 1819            result.flags |= ParseFlags.HaveDate;
 1820            return true;
 1821        }
 1822        result.SetBadDateTimeFailure();
 1823        return false;
 1824    }
static bool SetDateYMD(ref DateTimeResult result, int year, int month, int day)
 
static bool GetYearMonthDayOrder(string datePattern, out int order)