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); }
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); }