Files
myoffice/MyOffice.Web/Models/Motion/MotionCategoryViewModel.cs
T
2023-06-17 14:16:09 +03:00

34 lines
807 B
C#

namespace MyOffice.Web.Models.Motion
{
using System.ComponentModel.DataAnnotations;
using Core.Extensions;
using Data.Models.Accounts;
using MyOffice.Data.Models.Motions;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
public class MotionCategoryViewModel
{
public string? Id { get; set; }
[Required]
public string? Name { get; set; }
public bool AllowDelete { get; set; }
public int SortOrder { get; set; }
}
public static class MotionCategoryViewModelExtensions
{
public static MotionCategoryViewModel ToModel(this MotionCategory input)
{
return new MotionCategoryViewModel
{
Id = input.Id.ToShort(),
Name = input.Name,
AllowDelete = !input.Motions.Any() && input.Id != input.UserId,
SortOrder = input.Id == input.UserId ? 1 : 0
};
}
}
}