< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.AutoTaskDetailCreateDto
Assembly: LGDXRobotCloud.Data
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/DTOs/V1/Commands/AutoTaskDetailCreateDto.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 40
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_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/AutoTaskDetailCreateDto.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using LGDXRobotCloud.Data.Models.Business.Automation;
 3
 4namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5
 6public record AutoTaskDetailCreateDto : IValidatableObject
 7{
 08  public double? CustomX { get; set; }
 9
 010  public double? CustomY { get; set; }
 11
 012  public double? CustomRotation { get; set; }
 13
 014  public int? WaypointId { get; set; }
 15
 16  [Required (ErrorMessage = "Please enter the order.")]
 017  public required int Order { get; set; }
 18
 19  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 020  {
 021    if (WaypointId == null && CustomX == null && CustomY == null && CustomRotation == null)
 022    {
 023      yield return new ValidationResult("Please enter a waypoint or a custom coordinate.", [nameof(AutoTaskCreateDto.Aut
 024    }
 025  }
 26}
 27
 28public static class AutoTaskDetailCreateDtoExtensions
 29{
 30  public static AutoTaskDetailCreateBusinessModel ToBusinessModel(this AutoTaskDetailCreateDto model)
 31  {
 32    return new AutoTaskDetailCreateBusinessModel {
 33      CustomX = model.CustomX,
 34      CustomY = model.CustomY,
 35      CustomRotation = model.CustomRotation,
 36      WaypointId = model.WaypointId,
 37      Order = model.Order,
 38    };
 39  }
 40}