Files
parr_api/PARR.API/MappingProfiles/Resolvers/HistoryInitiatorUserResolver.cs
2024-10-08 13:53:57 +10:00

29 lines
1022 B
C#

using AutoMapper;
using Microsoft.EntityFrameworkCore;
using PARR.API.Contracts.V1.Responses;
using PARR.Common.Domain;
using PARR.DAL.Services.Interfaces;
namespace PARR.API.MappingProfiles.Resolvers
{
public class HistoryInitiatorUserResolver : IValueResolver<IHistoryInitiator, HistoryInitiatorResponse, UserBaseResponse?>
{
private readonly IUserService userService;
public HistoryInitiatorUserResolver(IUserService userService)
{
this.userService = userService;
}
public UserBaseResponse? Resolve(IHistoryInitiator source, HistoryInitiatorResponse destination, UserBaseResponse? destMember, ResolutionContext context)
{
var user = userService.Get().FirstOrDefaultAsync(t => t.Ip == source.InitiatorIp).GetAwaiter().GetResult();
if (user == null)
return null;
return new UserBaseResponse { Ip = user.Ip, Description = user.Description ?? string.Empty, Name = user.Name };
}
}
}