< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.FlowUpdateDto
Assembly: LGDXRobotCloud.Data
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Data/Models/DTOs/V1/Commands/FlowUpdateDto.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 14
Coverable lines: 14
Total lines: 37
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_FlowDetails()100%210%
Validate()0%2040%

File(s)

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

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using LGDXRobotCloud.Data.Models.Business.Automation;
 3
 4namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5
 6public record FlowUpdateDto
 7{
 8  [Required]
 09  public required string Name { get; set; }
 10
 011  public required IList<FlowDetailUpdateDto> FlowDetails { get; set; } = [];
 12
 13  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 014  {
 015    foreach (var flow in FlowDetails)
 016    {
 017      List<ValidationResult> validationResults = [];
 018      var vc = new ValidationContext(flow);
 019      Validator.TryValidateObject(flow, vc, validationResults, true);
 020      foreach (var validationResult in validationResults)
 021      {
 022        yield return validationResult;
 023      }
 024    }
 025  }
 26}
 27
 28public static class FlowUpdateDtoExtensions
 29{
 30  public static FlowUpdateBusinessModel ToBusinessModel(this FlowUpdateDto flowUpdateDto)
 31  {
 32    return new FlowUpdateBusinessModel {
 33      Name = flowUpdateDto.Name,
 34      FlowDetails = flowUpdateDto.FlowDetails.Select(fd => fd.ToBusinessModel()).ToList(),
 35    };
 36  }
 37}