namespace MyOffice.Web.Models.Account { using System.ComponentModel.DataAnnotations; using Core.Extensions; using Data.Models.Accounts; public class AccountCategoryViewModel { public string? Id { get; set; } [Required] public string? Name { get; set; } public bool? AllowDelete { get; set; } } public static class AccountCategoryViewModelExtensions { public static AccountCategoryViewModel ToModel(this AccountCategory input) { return new AccountCategoryViewModel { Id = input.Id.ToShort(), Name = input.Name, AllowDelete = !input.Accounts?.Any(), }; } } }