Files
myoffice/MyOffice.Web/Models/Item/ItemViewModel.cs
T
2023-07-20 21:38:05 +03:00

37 lines
924 B
C#

namespace MyOffice.Web.Models.Item
{
using System.ComponentModel.DataAnnotations;
using Data.Models.Accounts;
using MyOffice.Core.Extensions;
using MyOffice.Data.Models.Items;
public class ItemViewModel
{
public string? Id { get; set; }
public string CategoryId { get; set; } = null!;
public string? Category { get; set; } = null!;
[Required]
public string? Name { get; set; }
public bool AllowDelete { get; set; }
public string? AccountId { get; set; }
}
public static class ItemViewModelExtensions
{
public static ItemViewModel ToModel(this Item input, Account? account = null)
{
return new ItemViewModel
{
Id = input.ItemGlobal.Id.ToShort(),
CategoryId = input.CategoryId.ToShort(),
Category = input.Category?.Name,
Name = input.ItemGlobal.Name,
AllowDelete = input.Motions != null && !input.Motions.Any(),
AccountId = account?.Id.ToShort(),
};
}
}
}