|  |  | 1 |  | using LGDXRobotCloud.Data.Models.DTOs.V1.Responses; | 
|  |  | 2 |  | using LGDXRobotCloud.Utilities.Enums; | 
|  |  | 3 |  |  | 
|  |  | 4 |  | namespace LGDXRobotCloud.Data.Models.Business.Administration; | 
|  |  | 5 |  |  | 
|  |  | 6 |  | public class ActivityLogBusinessModel | 
|  |  | 7 |  | { | 
|  | 0 | 8 |  |   public int Id { get; set; } | 
|  |  | 9 |  |  | 
|  | 0 | 10 |  |   public required string EntityName { get; set; } | 
|  |  | 11 |  |  | 
|  | 0 | 12 |  |   public required string EntityId { get; set; } | 
|  |  | 13 |  |  | 
|  | 0 | 14 |  |   public required ActivityAction Action { get; set; } | 
|  |  | 15 |  |  | 
|  | 0 | 16 |  |   public Guid? UserId { get; set; } | 
|  |  | 17 |  |  | 
|  | 0 | 18 |  |   public string? UserName { get; set; } | 
|  |  | 19 |  |  | 
|  | 0 | 20 |  |   public int? ApiKeyId { get; set; } | 
|  |  | 21 |  |  | 
|  | 0 | 22 |  |   public string? ApiKeyName { get; set; } | 
|  |  | 23 |  |  | 
|  | 0 | 24 |  |   public string? Note { get; set; } | 
|  |  | 25 |  |  | 
|  | 0 | 26 |  |   public DateTime CreatedAt { get; set; } | 
|  |  | 27 |  | } | 
|  |  | 28 |  |  | 
|  |  | 29 |  | public static class ActivityLogBusinessModelExtensions | 
|  |  | 30 |  | { | 
|  |  | 31 |  |   public static ActivityLogDto ToDto(this ActivityLogBusinessModel activityLogBusinessModel) | 
|  |  | 32 |  |   { | 
|  |  | 33 |  |     return new ActivityLogDto | 
|  |  | 34 |  |     { | 
|  |  | 35 |  |       Id = activityLogBusinessModel.Id, | 
|  |  | 36 |  |       EntityName = activityLogBusinessModel.EntityName, | 
|  |  | 37 |  |       EntityId = activityLogBusinessModel.EntityId, | 
|  |  | 38 |  |       Action = activityLogBusinessModel.Action, | 
|  |  | 39 |  |       User = activityLogBusinessModel.UserId != null ? new LgdxUserSearchDto | 
|  |  | 40 |  |       { | 
|  |  | 41 |  |         Id = activityLogBusinessModel.UserId.Value, | 
|  |  | 42 |  |         UserName = activityLogBusinessModel.UserName | 
|  |  | 43 |  |       } : null, | 
|  |  | 44 |  |       ApiKey = activityLogBusinessModel.ApiKeyId != null ? new ApiKeySearchDto | 
|  |  | 45 |  |       { | 
|  |  | 46 |  |         Id = activityLogBusinessModel.ApiKeyId.Value, | 
|  |  | 47 |  |         Name = activityLogBusinessModel.ApiKeyName! | 
|  |  | 48 |  |       } : null, | 
|  |  | 49 |  |       Note = activityLogBusinessModel.Note, | 
|  |  | 50 |  |       CreatedAt = activityLogBusinessModel.CreatedAt, | 
|  |  | 51 |  |     }; | 
|  |  | 52 |  |   } | 
|  |  | 53 |  |  | 
|  |  | 54 |  |   public static IEnumerable<ActivityLogDto> ToDto(this IEnumerable<ActivityLogBusinessModel> activityLogBusinessModels) | 
|  |  | 55 |  |   { | 
|  |  | 56 |  |     return activityLogBusinessModels.Select(t => t.ToDto()); | 
|  |  | 57 |  |   } | 
|  |  | 58 |  | } |