< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.AutoTaskUpdateDto
Assembly: LGDXRobotCloud.Data
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/DTOs/V1/Commands/AutoTaskUpdateDto.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 17
Coverable lines: 17
Total lines: 47
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 4
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_Name()100%210%
get_AutoTaskDetails()100%210%
get_Priority()100%210%
get_FlowId()100%210%
get_AssignedRobotId()100%210%
Validate()0%2040%

File(s)

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

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using LGDXRobotCloud.Data.Models.Business.Automation;
 3
 4namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5
 6public record AutoTaskUpdateDto : IValidatableObject
 7{
 08  public string? Name { get; set; }
 9
 010  public required IEnumerable<AutoTaskDetailUpdateDto> AutoTaskDetails { get; set; } = [];
 11
 12  [Required (ErrorMessage = "Please enter a priority.")]
 013  public required int Priority { get; set; }
 14
 15  [Required (ErrorMessage = "Please select a Flow.")]
 016  public required int FlowId { get; set; }
 17
 018  public Guid? AssignedRobotId { get; set; }
 19
 20  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 021  {
 022    foreach (var autoTaskDetail in AutoTaskDetails)
 023    {
 024      List<ValidationResult> validationResults = [];
 025      var vc = new ValidationContext(autoTaskDetail);
 026      Validator.TryValidateObject(autoTaskDetail, vc, validationResults, true);
 027      foreach (var validationResult in validationResults)
 028      {
 029        yield return validationResult;
 030      }
 031    }
 032  }
 33}
 34
 35public static class AutoTaskUpdateDtoExtensions
 36{
 37  public static AutoTaskUpdateBusinessModel ToBusinessModel(this AutoTaskUpdateDto model)
 38  {
 39    return new AutoTaskUpdateBusinessModel {
 40      Name = model.Name,
 41      AutoTaskDetails = model.AutoTaskDetails.Select(td => td.ToBusinessModel()),
 42      Priority = model.Priority,
 43      FlowId = model.FlowId,
 44      AssignedRobotId = model.AssignedRobotId,
 45    };
 46  }
 47}