< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.AutoTaskUpdateDtoExtensions
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: 9
Coverable lines: 9
Total lines: 47
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ToBusinessModel(...)100%210%

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{
 8  public string? Name { get; set; }
 9
 10  public required IEnumerable<AutoTaskDetailUpdateDto> AutoTaskDetails { get; set; } = [];
 11
 12  [Required (ErrorMessage = "Please enter a priority.")]
 13  public required int Priority { get; set; }
 14
 15  [Required (ErrorMessage = "Please select a Flow.")]
 16  public required int FlowId { get; set; }
 17
 18  public Guid? AssignedRobotId { get; set; }
 19
 20  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 21  {
 22    foreach (var autoTaskDetail in AutoTaskDetails)
 23    {
 24      List<ValidationResult> validationResults = [];
 25      var vc = new ValidationContext(autoTaskDetail);
 26      Validator.TryValidateObject(autoTaskDetail, vc, validationResults, true);
 27      foreach (var validationResult in validationResults)
 28      {
 29        yield return validationResult;
 30      }
 31    }
 32  }
 33}
 34
 35public static class AutoTaskUpdateDtoExtensions
 36{
 37  public static AutoTaskUpdateBusinessModel ToBusinessModel(this AutoTaskUpdateDto model)
 038  {
 039    return new AutoTaskUpdateBusinessModel {
 040      Name = model.Name,
 041      AutoTaskDetails = model.AutoTaskDetails.Select(td => td.ToBusinessModel()),
 042      Priority = model.Priority,
 043      FlowId = model.FlowId,
 044      AssignedRobotId = model.AssignedRobotId,
 045    };
 046  }
 47}