Files
IM_NEW/User.WebApi/Applications/User/UserResponseFindSpecification.cs
T

37 lines
1.2 KiB
C#

using AutoMapper;
using IdentityService.WebApi.Applications.Dtos.Common;
using IM.Commons;
using System.Linq.Expressions;
namespace IdentityService.WebApi.Applications.User
{
public class UserResponseFindSpecification : ISpecification<Domain.Entities.User, UserResponse>
{
private readonly IEnumerable<Guid> Ids;
public UserResponseFindSpecification(IEnumerable<Guid> ids, IMapper mapper)
{
Ids = ids;
Criteria = u => Ids.Contains(u.Id);
Select = u => new UserResponse
{
Avatar = u.Avatar,
CreationTime = u.CreationTime,
Deletion = u.Deletion,
Description = u.Description,
Email = u.Email,
Id = u.Id,
NickName = u.NickName,
Phone = u.PhoneNumber,
Region = u.Region,
UserName = u.UserName
};
}
public Expression<Func<Domain.Entities.User, bool>> Criteria { get; }
public List<Expression<Func<Domain.Entities.User, object>>> Includes { get; }
public Expression<Func<Domain.Entities.User, UserResponse>> Select { get; }
}
}