34 lines
807 B
C#
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
|
|
};
|
|
}
|
|
}
|
|
}
|