66 lines
1.4 KiB
C#
66 lines
1.4 KiB
C#
using Core.Abstractions.Models;
|
|
using Core.DomainObjects;
|
|
using Core.Enumerations;
|
|
using WeatherForecast.Models.Responses.L10n;
|
|
|
|
namespace WeatherForecast.Models.Responses {
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class CategoryItemResponseModel : ResponseModelBase {
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Guid Id { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Guid SiteId { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string? Slug { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public string? Text { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public List<CategoryL10nModel>? L10n { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="category"></param>
|
|
public CategoryItemResponseModel(Category category) {
|
|
Id = category.Id;
|
|
SiteId = category.SiteId;
|
|
|
|
L10n = category.L10n.Select(x => new CategoryL10nModel(x)).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="category"></param>
|
|
/// <param name="locale"></param>
|
|
public CategoryItemResponseModel(Category category, Locales locale) {
|
|
Id = category.Id;
|
|
SiteId = category.SiteId;
|
|
|
|
var l10n = category.L10n.SingleOrDefault(x => x.Locale == locale);
|
|
if (l10n != null) {
|
|
Slug = l10n.Slug;
|
|
Text = l10n.Text;
|
|
}
|
|
}
|
|
}
|
|
}
|