< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.AutoTaskDetailUpdateDto
Assembly: LGDXRobotCloud.Data
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/DTOs/V1/Commands/AutoTaskDetailUpdateDto.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 12
Coverable lines: 12
Total lines: 43
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%210%
get_CustomX()100%210%
get_CustomY()100%210%
get_CustomRotation()100%210%
get_WaypointId()100%210%
get_Order()100%210%
Validate()0%7280%

File(s)

/builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/DTOs/V1/Commands/AutoTaskDetailUpdateDto.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using LGDXRobotCloud.Data.Models.Business.Automation;
 3
 4namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5
 6public record AutoTaskDetailUpdateDto : IValidatableObject
 7{
 08  public int? Id { get; set; }
 9
 010  public double? CustomX { get; set; }
 11
 012  public double? CustomY { get; set; }
 13
 014  public double? CustomRotation { get; set; }
 15
 016  public int? WaypointId { get; set; }
 17
 18  [Required (ErrorMessage = "Please enter the order.")]
 019  public int Order { get; set; }
 20
 21  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 022  {
 023    if (WaypointId == null && CustomX == null && CustomY == null && CustomRotation == null)
 024    {
 025      yield return new ValidationResult("Please enter a waypoint or a custom coordinate.", [nameof(AutoTaskUpdateDto.Aut
 026    }
 027  }
 28}
 29
 30public static class AutoTaskDetailUpdateDtoExtensions
 31{
 32  public static AutoTaskDetailUpdateBusinessModel ToBusinessModel(this AutoTaskDetailUpdateDto model)
 33  {
 34    return new AutoTaskDetailUpdateBusinessModel {
 35      Id = model.Id,
 36      CustomX = model.CustomX,
 37      CustomY = model.CustomY,
 38      CustomRotation = model.CustomRotation,
 39      WaypointId = model.WaypointId,
 40      Order = model.Order,
 41    };
 42  }
 43}