< Summary

Information
Class: LGDXRobotCloud.Data.Models.Business.Automation.AutoTaskBusinessModelExtensions
Assembly: LGDXRobotCloud.Data
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/Business/Automation/AutoTaskBusinessModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 38
Coverable lines: 38
Total lines: 76
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToDto(...)0%2040%
ToContract(...)0%620%

File(s)

/builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/Business/Automation/AutoTaskBusinessModel.cs

#LineLine coverage
 1using LGDXRobotCloud.Data.Contracts;
 2using LGDXRobotCloud.Data.Models.DTOs.V1.Responses;
 3
 4namespace LGDXRobotCloud.Data.Models.Business.Automation;
 5
 6public record AutoTaskBusinessModel
 7{
 8  public required int Id { get; set; }
 9
 10  public string? Name { get; set; }
 11
 12  public required int Priority { get; set; }
 13
 14  public int? FlowId { get; set; }
 15
 16  public string? FlowName { get; set; }
 17
 18  public required int RealmId { get; set; }
 19
 20  public required string RealmName { get; set; }
 21
 22  public Guid? AssignedRobotId { get; set; }
 23
 24  public string? AssignedRobotName { get; set; }
 25
 26  public required int CurrentProgressId { get; set; }
 27
 28  public required string CurrentProgressName { get; set; }
 29
 30  public required IEnumerable<AutoTaskDetailBusinessModel> AutoTaskDetails { get; set; } = [];
 31}
 32
 33public static class AutoTaskBusinessModelExtensions
 34{
 35  public static AutoTaskDto ToDto(this AutoTaskBusinessModel model)
 036  {
 037    return new AutoTaskDto {
 038      Id = model.Id,
 039      Name = model.Name,
 040      Priority = model.Priority,
 041      Flow = new FlowSearchDto {
 042        Id = model.FlowId ?? 0,
 043        Name = model.FlowName ?? "Deleted Flow",
 044      },
 045      Realm = new RealmSearchDto {
 046        Id = model.RealmId,
 047        Name = model.RealmName,
 048      },
 049      AssignedRobot = model.AssignedRobotId == null ? null : new RobotSearchDto {
 050        Id = model.AssignedRobotId!.Value,
 051        Name = model.AssignedRobotName!,
 052      },
 053      CurrentProgress = new ProgressSearchDto {
 054        Id = model.CurrentProgressId,
 055        Name = model.CurrentProgressName,
 056      },
 057      AutoTaskDetails = model.AutoTaskDetails.Select(td => td.ToDto()),
 058    };
 059  }
 60
 61  public static AutoTaskUpdateContract ToContract(this AutoTaskBusinessModel model)
 062  {
 063    return new AutoTaskUpdateContract {
 064      Id = model.Id,
 065      Name = model.Name,
 066      Priority = model.Priority,
 067      FlowId = model.FlowId ?? 0,
 068      FlowName = model.FlowName ?? "Deleted Flow",
 069      RealmId = model.RealmId,
 070      AssignedRobotId = model.AssignedRobotId,
 071      AssignedRobotName = model.AssignedRobotName,
 072      CurrentProgressId = model.CurrentProgressId,
 073      CurrentProgressName = model.CurrentProgressName,
 074    };
 075  }
 76}