Exemple #1
0
            public int Compare(RvFile x, RvFile y)
            {
                int retVal = 0;

                switch ((eRomGrid)_colIndex)
                {
                case eRomGrid.Got:       // then by name
                    retVal = x.GotStatus - y.GotStatus;
                    if (retVal != 0)
                    {
                        break;
                    }
                    retVal = x.RepStatus - y.RepStatus;
                    if (retVal != 0)
                    {
                        break;
                    }
                    retVal = string.Compare(x.UiDisplayName ?? "", y.UiDisplayName ?? "", StringComparison.Ordinal);
                    break;

                case eRomGrid.Rom:
                    retVal = string.Compare(x.UiDisplayName ?? "", y.UiDisplayName ?? "", StringComparison.Ordinal);
                    break;

                case eRomGrid.Merge:
                    retVal = string.Compare(x.Merge ?? "", y.Merge ?? "", StringComparison.Ordinal);
                    break;

                case eRomGrid.Size:
                    retVal = ULong.iCompareNull(x.Size, y.Size);
                    break;

                case eRomGrid.CRC32:
                    retVal = ArrByte.ICompare(x.CRC, y.CRC);
                    break;

                case eRomGrid.SHA1:
                    retVal = ArrByte.ICompare(x.SHA1, y.SHA1);
                    break;

                case eRomGrid.MD5:
                    retVal = ArrByte.ICompare(x.MD5, y.MD5);
                    break;

                case eRomGrid.AltSize:
                    retVal = ULong.iCompareNull(x.AltSize, y.AltSize);
                    break;

                case eRomGrid.AltCRC32:
                    retVal = ArrByte.ICompare(x.AltCRC, y.AltCRC);
                    break;

                case eRomGrid.AltSHA1:
                    retVal = ArrByte.ICompare(x.AltSHA1, y.AltSHA1);
                    break;

                case eRomGrid.AltMD5:
                    retVal = ArrByte.ICompare(x.AltMD5, y.AltMD5);
                    break;

                case eRomGrid.Status:
                    retVal = string.Compare(x.Status ?? "", y.Status ?? "", StringComparison.Ordinal);
                    break;
                }

                if (_sortDir == SortOrder.Descending)
                {
                    retVal = -retVal;
                }

                if (retVal == 0 && _colIndex != 1)
                {
                    retVal = string.Compare(x.UiDisplayName ?? "", y.UiDisplayName ?? "", StringComparison.Ordinal);
                }

                return(retVal);
            }
Exemple #2
0
            public int Compare(RvFile x, RvFile y)
            {
                int retVal = 0;

                switch (_colIndex)
                {
                case 1:
                    retVal = string.Compare(x.UiDisplayName ?? "", y.UiDisplayName ?? "", StringComparison.Ordinal);
                    break;

                case 2:
                    retVal = string.Compare(x.Merge ?? "", y.Merge ?? "", StringComparison.Ordinal);
                    break;

                case 3:
                    retVal = ULong.iCompareNull(x.Size, y.Size);
                    break;

                case 4:
                    retVal = ArrByte.ICompare(x.CRC, y.CRC);
                    break;

                case 5:
                    retVal = ArrByte.ICompare(x.SHA1, y.SHA1);
                    break;

                case 6:
                    retVal = ArrByte.ICompare(x.MD5, y.MD5);
                    break;

                case 7:
                    retVal = ULong.iCompareNull(x.AltSize, y.AltSize);
                    break;

                case 8:
                    retVal = ArrByte.ICompare(x.AltCRC, y.AltCRC);
                    break;

                case 9:
                    retVal = ArrByte.ICompare(x.AltSHA1, y.AltSHA1);
                    break;

                case 10:
                    retVal = ArrByte.ICompare(x.AltMD5, y.AltMD5);
                    break;

                case 11:
                    retVal = string.Compare(x.Status ?? "", y.Status ?? "", StringComparison.Ordinal);
                    break;
                }

                if (_sortDir == SortOrder.Descending)
                {
                    retVal = -retVal;
                }

                if (retVal == 0 && _colIndex != 1)
                {
                    retVal = string.Compare(x.UiDisplayName ?? "", y.UiDisplayName ?? "", StringComparison.Ordinal);
                }

                return(retVal);
            }