| | | 1 | | using LGDXRobotCloud.Data.Models.DTOs.V1.Responses; |
| | | 2 | | using LGDXRobotCloud.Data.Models.Redis; |
| | | 3 | | |
| | | 4 | | namespace LGDXRobotCloud.Data.Models.Business.Automation; |
| | | 5 | | |
| | | 6 | | public record AutoTaskBusinessModel |
| | | 7 | | { |
| | 7 | 8 | | public required int Id { get; set; } |
| | | 9 | | |
| | 7 | 10 | | public string? Name { get; set; } |
| | | 11 | | |
| | 7 | 12 | | public required int Priority { get; set; } |
| | | 13 | | |
| | 7 | 14 | | public int? FlowId { get; set; } |
| | | 15 | | |
| | 4 | 16 | | public string? FlowName { get; set; } |
| | | 17 | | |
| | 7 | 18 | | public required int RealmId { get; set; } |
| | | 19 | | |
| | 3 | 20 | | public required string RealmName { get; set; } |
| | | 21 | | |
| | 7 | 22 | | public Guid? AssignedRobotId { get; set; } |
| | | 23 | | |
| | 4 | 24 | | public string? AssignedRobotName { get; set; } |
| | | 25 | | |
| | 5 | 26 | | public required int CurrentProgressId { get; set; } |
| | | 27 | | |
| | 4 | 28 | | public required string CurrentProgressName { get; set; } |
| | | 29 | | |
| | 11 | 30 | | public required IEnumerable<AutoTaskDetailBusinessModel> AutoTaskDetails { get; set; } = []; |
| | | 31 | | |
| | 4 | 32 | | public IEnumerable<AutoTaskJourneyBusinessModel> AutoTaskJourneys { get; set; } = []; |
| | | 33 | | } |
| | | 34 | | |
| | | 35 | | public static class AutoTaskBusinessModelExtensions |
| | | 36 | | { |
| | | 37 | | public static AutoTaskDto ToDto(this AutoTaskBusinessModel model) |
| | | 38 | | { |
| | | 39 | | return new AutoTaskDto |
| | | 40 | | { |
| | | 41 | | Id = model.Id, |
| | | 42 | | Name = model.Name, |
| | | 43 | | Priority = model.Priority, |
| | | 44 | | Flow = new FlowSearchDto |
| | | 45 | | { |
| | | 46 | | Id = model.FlowId ?? 0, |
| | | 47 | | Name = model.FlowName ?? "Deleted Flow", |
| | | 48 | | }, |
| | | 49 | | Realm = new RealmSearchDto |
| | | 50 | | { |
| | | 51 | | Id = model.RealmId, |
| | | 52 | | Name = model.RealmName, |
| | | 53 | | }, |
| | | 54 | | AssignedRobot = model.AssignedRobotId == null ? null : new RobotSearchDto |
| | | 55 | | { |
| | | 56 | | Id = model.AssignedRobotId!.Value, |
| | | 57 | | Name = model.AssignedRobotName!, |
| | | 58 | | }, |
| | | 59 | | CurrentProgress = new ProgressSearchDto |
| | | 60 | | { |
| | | 61 | | Id = model.CurrentProgressId, |
| | | 62 | | Name = model.CurrentProgressName, |
| | | 63 | | }, |
| | | 64 | | AutoTaskDetails = model.AutoTaskDetails.Select(td => td.ToDto()), |
| | | 65 | | AutoTaskJourneys = model.AutoTaskJourneys.Select(tj => tj.ToDto()), |
| | | 66 | | }; |
| | | 67 | | } |
| | | 68 | | |
| | | 69 | | public static AutoTaskUpdate ToContract(this AutoTaskBusinessModel model) |
| | | 70 | | { |
| | | 71 | | return new AutoTaskUpdate { |
| | | 72 | | Id = model.Id, |
| | | 73 | | Name = model.Name, |
| | | 74 | | Priority = model.Priority, |
| | | 75 | | FlowId = model.FlowId ?? 0, |
| | | 76 | | FlowName = model.FlowName ?? "Deleted Flow", |
| | | 77 | | RealmId = model.RealmId, |
| | | 78 | | AssignedRobotId = model.AssignedRobotId, |
| | | 79 | | AssignedRobotName = model.AssignedRobotName, |
| | | 80 | | CurrentProgressId = model.CurrentProgressId, |
| | | 81 | | CurrentProgressName = model.CurrentProgressName, |
| | | 82 | | }; |
| | | 83 | | } |
| | | 84 | | } |