2022-02-03 13:46:17 +00:00
|
|
|
|
namespace ASC.AuditTrail.Models.Mapping.Actions;
|
2022-02-03 11:16:34 +00:00
|
|
|
|
|
|
|
|
|
public class LoginEventMappingAction : IMappingAction<LoginEventQuery, LoginEventDTO>
|
2022-02-03 11:02:49 +00:00
|
|
|
|
{
|
2022-02-03 11:16:34 +00:00
|
|
|
|
private readonly UserFormatter _userFormatter;
|
|
|
|
|
private readonly AuditActionMapper _auditActionMapper;
|
|
|
|
|
|
|
|
|
|
public LoginEventMappingAction(UserFormatter userFormatter, AuditActionMapper auditActionMapper)
|
|
|
|
|
{
|
|
|
|
|
_userFormatter = userFormatter;
|
|
|
|
|
_auditActionMapper = auditActionMapper;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Process(LoginEventQuery source, LoginEventDTO destination, ResolutionContext context)
|
2022-02-03 11:02:49 +00:00
|
|
|
|
{
|
2022-02-03 11:16:34 +00:00
|
|
|
|
if (source.LoginEvents.Description != null)
|
|
|
|
|
destination.Description = JsonConvert.DeserializeObject<IList<string>>(
|
|
|
|
|
source.LoginEvents.Description,
|
|
|
|
|
new JsonSerializerSettings
|
|
|
|
|
{
|
|
|
|
|
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
destination.UserName = (!string.IsNullOrEmpty(source.User?.FirstName) && !string.IsNullOrEmpty(source.User?.LastName))
|
|
|
|
|
? _userFormatter.GetUserName(source.User.FirstName, source.User.LastName)
|
|
|
|
|
: !string.IsNullOrWhiteSpace(source.LoginEvents.Login)
|
|
|
|
|
? source.LoginEvents.Login
|
|
|
|
|
: source.LoginEvents.UserId == Core.Configuration.Constants.Guest.ID
|
|
|
|
|
? AuditReportResource.GuestAccount
|
|
|
|
|
: AuditReportResource.UnknownAccount;
|
|
|
|
|
|
|
|
|
|
destination.ActionText = _auditActionMapper.GetActionText(destination);
|
2022-02-03 11:02:49 +00:00
|
|
|
|
}
|
|
|
|
|
}
|