< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.AutoTaskCreateDto
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: 19
Coverable lines: 19
Total lines: 54
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_RealmId()100%210%
get_AssignedRobotId()100%210%
get_IsTemplate()100%210%
Validate()0%2040%

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{
 08  public string? Name { get; set; }
 9
 010  public required IEnumerable<AutoTaskDetailCreateDto> 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
 18  [Required (ErrorMessage = "Please select a Realm.")]
 019  public required int RealmId { get; set; }
 20
 021  public Guid? AssignedRobotId { get; set; }
 22
 023  public bool IsTemplate { get; set; } = false;
 24
 25  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 026  {
 027    foreach (var autoTaskDetail in AutoTaskDetails)
 028    {
 029      List<ValidationResult> validationResults = [];
 030      var vc = new ValidationContext(autoTaskDetail);
 031      Validator.TryValidateObject(autoTaskDetail, vc, validationResults, true);
 032      foreach (var validationResult in validationResults)
 033      {
 034        yield return validationResult;
 035      }
 036    }
 037  }
 38}
 39
 40public static class AutoTaskCreateDtoExtensions
 41{
 42  public static AutoTaskCreateBusinessModel ToBusinessModel(this AutoTaskCreateDto model)
 43  {
 44    return new AutoTaskCreateBusinessModel {
 45      Name = model.Name,
 46      AutoTaskDetails = model.AutoTaskDetails.Select(td => td.ToBusinessModel()),
 47      Priority = model.Priority,
 48      FlowId = model.FlowId,
 49      RealmId = model.RealmId,
 50      AssignedRobotId = model.AssignedRobotId,
 51      IsTemplate = model.IsTemplate,
 52    };
 53  }
 54}