Attempt to bring back ListView.

This commit is contained in:
Burak Kaan Köse
2025-10-25 10:54:38 +02:00
parent 6c37c9e786
commit d4c8ae6cb7
8 changed files with 587 additions and 35 deletions
@@ -1,15 +0,0 @@
using System;
using System.Collections.Generic;
namespace Wino.Core.Domain.Models.Comparers;
/// <summary>
/// Used to insert date grouping into proper place in Reader page.
/// </summary>
public class DateTimeComparer : IComparer<DateTime>
{
public int Compare(DateTime x, DateTime y)
{
return DateTime.Compare(y, x);
}
}
@@ -1,12 +0,0 @@
using System.Collections.Generic;
using Wino.Core.Domain.Entities.Mail;
namespace Wino.Core.Domain.Models.Comparers;
public class FolderNameComparer : IComparer<MailItemFolder>
{
public int Compare(MailItemFolder x, MailItemFolder y)
{
return x.FolderName.CompareTo(y.FolderName);
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using Wino.Core.Domain.Entities.Mail;
public class ListItemComparer : IComparer<object>
{
public bool SortByName { get; set; }
public int Compare(object x, object y)
{
if (x is MailCopy xMail && y is MailCopy yMail)
return SortByName ? string.Compare(xMail.FromName, yMail.FromName, StringComparison.OrdinalIgnoreCase) : DateTime.Compare(yMail.CreationDate, xMail.CreationDate);
else if (x is DateTime dateX && y is DateTime dateY)
return DateTime.Compare(dateY, dateX);
else if (x is string stringX && y is string stringY)
return stringY.CompareTo(stringX);
return 0;
}
}