CSReportDll.cReport.orderDateDesc C# (CSharp) Метод

orderDateDesc() приватный Метод

private orderDateDesc ( int first, int last, int orderBy ) : bool
first int
last int
orderBy int
Результат bool
        private bool orderDateDesc(int first, int last, int orderBy)
        {
            int i = 0;
            int j = 0;
            int t = 0;
            int q = 0;
            bool bChanged = false;

            t = pEstimateLoops(last - first);
            for (i = first + 1; i <= last; i++)
            {
                bChanged = false;
                for (j = last; j >= i; j--)
                {
                    q = q + 1;
                    int row1 = m_vRowsIndex[j];
                    int row2 = m_vRowsIndex[j - 1];
                    DateTime date1 = cReportGlobals.dateValue(cReportGlobals.valVariant(m_rows.Rows[row1][orderBy]));
                    DateTime date2 = cReportGlobals.dateValue(cReportGlobals.valVariant(m_rows.Rows[row2][orderBy]));
                    if (date1 > date2)
                    {
                        if (!OnProgress("", 0, q, t)) 
                        { 
                            return false; 
                        }
                        changeRow(j, j - 1);
                        bChanged = true;
                    }
                }
                if (!OnProgress("", 0, q, t)) 
                { 
                    return false; 
                }
                if (!bChanged) 
                { 
                    break; 
                }
            }
            return true;
        }
cReport