0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-30 02:31:08 +00:00
CleanArchitecture/CleanArchitecture.Application/SortProviders/UserViewModelSortProvider.cs
2023-09-09 13:06:08 +02:00

27 lines
984 B
C#

using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using CleanArchitecture.Application.ViewModels.Sorting;
using CleanArchitecture.Application.ViewModels.Users;
using CleanArchitecture.Domain.Entities;
namespace CleanArchitecture.Application.SortProviders;
public sealed class UserViewModelSortProvider : ISortingExpressionProvider<UserViewModel, User>
{
private static readonly Dictionary<string, Expression<Func<User, object>>> s_expressions = new()
{
{ "email", user => user.Email },
{ "firstName", user => user.FirstName },
{ "lastName", user => user.LastName },
{ "tenantId", user => user.TenantId },
{ "lastloggedindate", user => user.LastLoggedinDate ?? DateTimeOffset.MinValue },
{ "role", user => user.Role },
{ "status", user => user.Status }
};
public Dictionary<string, Expression<Func<User, object>>> GetSortingExpressions()
{
return s_expressions;
}
}