2025-03-19 08:57:29 +01:00

57 lines
1.6 KiB
C#

using Manager.DTOs;
using ManagerService.DTOs;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
namespace ManagerService.Data.SubSection
{
/// <summary>
/// Content
/// </summary>
public class Content
{
[Key]
[Required]
public int Id { get; set; }
[Required]
[Column(TypeName = "jsonb")]
public List<Translation> Title { get; set; }
[Required]
[Column(TypeName = "jsonb")]
public List<Translation> Description { get; set; }
public string ResourceId { get; set; }
public Resource Resource { get; set; }
public int Order { get; set; } // Order to show
public ContentDTO ToDTO()
{
return new ContentDTO()
{
title = Title.OrderBy(t => t.Language).Select(l => l.ToDTO()).ToList(),
description = Description.OrderBy(t => t.Language).Select(l => l.ToDTO()).ToList(),
order = Order,
resourceId = ResourceId,
resource = Resource.ToDTO()
};
}
public Content FromDTO(ContentDTO contentDTO)
{
return new Content()
{
Title = contentDTO.title.Select(t => new Translation().FromDTO(t)).ToList(),
Description = contentDTO.description.Select(t => new Translation().FromDTO(t)).ToList(),
Order = contentDTO.order,
ResourceId = contentDTO.resourceId
};
}
}
}