Blacker.MangaScraper.ViewModel.DownloadManagerViewModel.DownloadAgeComparer.Compare C# (CSharp) Метод

Compare() публичный Метод

public Compare ( object x, object y ) : int
x object
y object
Результат int
            public int Compare(object x, object y)
            {
                var objX = x as DownloadViewModel;
                var objY = y as DownloadViewModel;

                if (objX == null)
                    throw new ArgumentException("DownloadAgeComparer can only sort non null objects of type DownloadViewModel", "x");
                if (objY == null)
                    throw new ArgumentException("DownloadAgeComparer can only sort non null objects of type DownloadViewModel", "y");

                // downloads that are now waiting in queue have lower priority (for ordering) than currently downloading one
                if (objX.Downloaded == DateTime.MinValue && objY.Downloaded == DateTime.MinValue)
                {
                    if (objX.ProgressValue > 0 && objY.ProgressValue == 0)
                        return -1;

                    if (objX.ProgressValue == 0 && objY.ProgressValue > 0)
                        return 1;

                    // if both are downloading let's say that they are equal
                    return 0;
                }

                if (objX.Downloaded == objY.Downloaded)
                    return 0;

                if (objX.Downloaded == DateTime.MinValue)
                    return -1;

                if (objY.Downloaded == DateTime.MinValue)
                    return 1;

                if (objX.Downloaded < objY.Downloaded)
                    return 1;

                return -1;
            }
DownloadManagerViewModel.DownloadAgeComparer