Cleaning up the solution. Separating Shared.WinRT, Services and Synchronization. Removing synchronization from app. Reducing bundle size by 45mb.

This commit is contained in:
Burak Kaan Köse
2024-07-21 05:45:02 +02:00
parent f112f369a7
commit 495885e006
523 changed files with 2254 additions and 2375 deletions

View File

@@ -0,0 +1,36 @@
using System.Collections.Generic;
using Wino.Domain.Interfaces;
using Wino.Services.Requests;
namespace Wino.Core.Misc
{
/// <summary>
/// This is incomplete.
/// </summary>
internal class RequestComparer : IEqualityComparer<IRequestBase>
{
public bool Equals(IRequestBase x, IRequestBase y)
{
if (x is MoveRequest sourceMoveRequest && y is MoveRequest targetMoveRequest)
{
return sourceMoveRequest.FromFolder.Id == targetMoveRequest.FromFolder.Id && sourceMoveRequest.ToFolder.Id == targetMoveRequest.ToFolder.Id;
}
else if (x is ChangeFlagRequest sourceFlagRequest && y is ChangeFlagRequest targetFlagRequest)
{
return sourceFlagRequest.IsFlagged == targetFlagRequest.IsFlagged;
}
else if (x is MarkReadRequest sourceMarkReadRequest && y is MarkReadRequest targetMarkReadRequest)
{
return sourceMarkReadRequest.Item.IsRead == targetMarkReadRequest.Item.IsRead;
}
else if (x is DeleteRequest sourceDeleteRequest && y is DeleteRequest targetDeleteRequest)
{
return sourceDeleteRequest.MailItem.AssignedFolder.Id == targetDeleteRequest.MailItem.AssignedFolder.Id;
}
return true;
}
public int GetHashCode(IRequestBase obj) => obj.Operation.GetHashCode();
}
}