file scoped namespaces (#565)

This commit is contained in:
Aleh Khantsevich
2025-02-16 11:54:23 +01:00
committed by GitHub
parent cf9869b71e
commit 3ddc1a6229
617 changed files with 32107 additions and 32721 deletions

View File

@@ -3,30 +3,29 @@ using System.Collections;
using System.Collections.Generic;
using Wino.Core.Domain.Models.MailItem;
namespace Wino.Core.Domain.Models.Comparers
namespace Wino.Core.Domain.Models.Comparers;
public class DateComparer : IComparer<IMailItem>, IEqualityComparer
{
public class DateComparer : IComparer<IMailItem>, IEqualityComparer
public int Compare(IMailItem x, IMailItem y)
{
public int Compare(IMailItem x, IMailItem y)
return DateTime.Compare(y.CreationDate, x.CreationDate);
}
public new bool Equals(object x, object y)
{
if (x is IMailItem firstItem && y is IMailItem secondItem)
{
return DateTime.Compare(y.CreationDate, x.CreationDate);
return firstItem.Equals(secondItem);
}
public new bool Equals(object x, object y)
{
if (x is IMailItem firstItem && y is IMailItem secondItem)
{
return firstItem.Equals(secondItem);
}
return false;
}
return false;
}
public int GetHashCode(object obj) => (obj as IMailItem).GetHashCode();
public int GetHashCode(object obj) => (obj as IMailItem).GetHashCode();
public DateComparer()
{
public DateComparer()
{
}
}
}

View File

@@ -1,16 +1,15 @@
using System;
using System.Collections.Generic;
namespace Wino.Core.Domain.Models.Comparers
namespace Wino.Core.Domain.Models.Comparers;
/// <summary>
/// Used to insert date grouping into proper place in Reader page.
/// </summary>
public class DateTimeComparer : IComparer<DateTime>
{
/// <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)
{
public int Compare(DateTime x, DateTime y)
{
return DateTime.Compare(y, x);
}
return DateTime.Compare(y, x);
}
}

View File

@@ -1,13 +1,12 @@
using System.Collections.Generic;
using Wino.Core.Domain.Entities.Mail;
namespace Wino.Core.Domain.Models.Comparers
namespace Wino.Core.Domain.Models.Comparers;
public class FolderNameComparer : IComparer<MailItemFolder>
{
public class FolderNameComparer : IComparer<MailItemFolder>
public int Compare(MailItemFolder x, MailItemFolder y)
{
public int Compare(MailItemFolder x, MailItemFolder y)
{
return x.FolderName.CompareTo(y.FolderName);
}
return x.FolderName.CompareTo(y.FolderName);
}
}

View File

@@ -2,37 +2,36 @@
using System.Collections.Generic;
using Wino.Core.Domain.Models.MailItem;
namespace Wino.Core.Domain.Models.Comparers
namespace Wino.Core.Domain.Models.Comparers;
public class ListItemComparer : IComparer<object>
{
public class ListItemComparer : IComparer<object>
public bool SortByName { get; set; }
public DateComparer DateComparer = new DateComparer();
public readonly NameComparer NameComparer = new NameComparer();
public int Compare(object x, object y)
{
public bool SortByName { get; set; }
public DateComparer DateComparer = new DateComparer();
public readonly NameComparer NameComparer = new NameComparer();
public int Compare(object x, object y)
if (x is IMailItem xMail && y is IMailItem yMail)
{
if (x is IMailItem xMail && y is IMailItem yMail)
{
var itemComparer = GetItemComparer();
var itemComparer = GetItemComparer();
return itemComparer.Compare(xMail, yMail);
}
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;
return itemComparer.Compare(xMail, yMail);
}
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);
public IComparer<IMailItem> GetItemComparer()
{
if (SortByName)
return NameComparer;
else
return DateComparer;
}
return 0;
}
public IComparer<IMailItem> GetItemComparer()
{
if (SortByName)
return NameComparer;
else
return DateComparer;
}
}

View File

@@ -1,13 +1,12 @@
using System.Collections.Generic;
using Wino.Core.Domain.Models.MailItem;
namespace Wino.Core.Domain.Models.Comparers
namespace Wino.Core.Domain.Models.Comparers;
public class NameComparer : IComparer<IMailItem>
{
public class NameComparer : IComparer<IMailItem>
public int Compare(IMailItem x, IMailItem y)
{
public int Compare(IMailItem x, IMailItem y)
{
return string.Compare(x.FromName, y.FromName);
}
return string.Compare(x.FromName, y.FromName);
}
}