< Summary

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

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using LGDXRobotCloud.Data.Models.Business.Administration;
 3
 4namespace LGDXRobotCloud.Data.Models.DTOs.V1.Commands;
 5
 6public record LgdxUserUpdateAdminDto : IValidatableObject
 7{
 8  [Required (ErrorMessage = "Please enter a name.")]
 9  public required string Name { get; set; }
 10
 11  [Required (ErrorMessage = "Please enter a username.")]
 12  public required string UserName { get; set; }
 13
 14  [Required (ErrorMessage = "Please enter an email.")]
 15  [EmailAddress (ErrorMessage = "Please enter a valid email.")]
 16  public required string Email { get; set; }
 17
 18  public IEnumerable<string> Roles { get; set; } = [];
 19
 20  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 21  {
 22    if (!Roles.Any())
 23    {
 24      yield return new ValidationResult("At least one role is required.", [nameof(Roles)]);
 25    }
 26    int i = 0;
 27    foreach (var role in Roles)
 28    {
 29      if (string.IsNullOrWhiteSpace(role))
 30      {
 31        yield return new ValidationResult($"Role is required.", [nameof(Roles), $"{nameof(Roles)}-{i}"]);
 32      }
 33      i++;
 34    }
 35  }
 36}
 37
 38public static class LgdxUserUpdateAdminDtoExtensions
 39{
 40  public static LgdxUserUpdateAdminBusinessModel ToBusinessModel(this LgdxUserUpdateAdminDto model)
 041  {
 042    return new LgdxUserUpdateAdminBusinessModel {
 043      Name = model.Name,
 044      UserName = model.UserName,
 045      Email = model.Email,
 046      Roles = model.Roles,
 047    };
 048  }
 49}