< Summary

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

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using LGDXRobotCloud.Data.Models.Business.Automation;
 3
 4namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5
 6public record AutoTaskCreateDto : IValidatableObject
 7{
 8  public string? Name { get; set; }
 9
 10  public required IEnumerable<AutoTaskDetailCreateDto> 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  [Required (ErrorMessage = "Please select a Realm.")]
 19  public required int RealmId { get; set; }
 20
 21  public Guid? AssignedRobotId { get; set; }
 22
 23  public bool IsTemplate { get; set; } = false;
 24
 25  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 26  {
 27    foreach (var autoTaskDetail in AutoTaskDetails)
 28    {
 29      List<ValidationResult> validationResults = [];
 30      var vc = new ValidationContext(autoTaskDetail);
 31      Validator.TryValidateObject(autoTaskDetail, vc, validationResults, true);
 32      foreach (var validationResult in validationResults)
 33      {
 34        yield return validationResult;
 35      }
 36    }
 37  }
 38}
 39
 40public static class AutoTaskCreateDtoExtensions
 41{
 42  public static AutoTaskCreateBusinessModel ToBusinessModel(this AutoTaskCreateDto model)
 043  {
 044    return new AutoTaskCreateBusinessModel {
 045      Name = model.Name,
 046      AutoTaskDetails = model.AutoTaskDetails.Select(td => td.ToBusinessModel()),
 047      Priority = model.Priority,
 048      FlowId = model.FlowId,
 049      RealmId = model.RealmId,
 050      AssignedRobotId = model.AssignedRobotId,
 051      IsTemplate = model.IsTemplate,
 052    };
 053  }
 54}