< Summary

Information
Class: LGDXRobotCloud.Data.Models.DTOs.V1.Commands.LgdxUserUpdateAdminDto
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: 19
Coverable lines: 19
Total lines: 49
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
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_UserName()100%210%
get_Email()100%210%
get_Roles()100%210%
Validate()0%4260%

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.")]
 09  public required string Name { get; set; }
 10
 11  [Required (ErrorMessage = "Please enter a username.")]
 012  public required string UserName { get; set; }
 13
 14  [Required (ErrorMessage = "Please enter an email.")]
 15  [EmailAddress (ErrorMessage = "Please enter a valid email.")]
 016  public required string Email { get; set; }
 17
 018  public IEnumerable<string> Roles { get; set; } = [];
 19
 20  public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
 021  {
 022    if (!Roles.Any())
 023    {
 024      yield return new ValidationResult("At least one role is required.", [nameof(Roles)]);
 025    }
 026    int i = 0;
 027    foreach (var role in Roles)
 028    {
 029      if (string.IsNullOrWhiteSpace(role))
 030      {
 031        yield return new ValidationResult($"Role is required.", [nameof(Roles), $"{nameof(Roles)}-{i}"]);
 032      }
 033      i++;
 034    }
 035  }
 36}
 37
 38public static class LgdxUserUpdateAdminDtoExtensions
 39{
 40  public static LgdxUserUpdateAdminBusinessModel ToBusinessModel(this LgdxUserUpdateAdminDto model)
 41  {
 42    return new LgdxUserUpdateAdminBusinessModel {
 43      Name = model.Name,
 44      UserName = model.UserName,
 45      Email = model.Email,
 46      Roles = model.Roles,
 47    };
 48  }
 49}