Add String Service and Implement all of it's requirements as an xDashboard Package ...

This commit is contained in:
2025-11-04 18:09:54 +03:30
parent 83a9500f30
commit 5ea2b8e3b9
14 changed files with 1774 additions and 2 deletions
+118
View File
@@ -0,0 +1,118 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using xCommons.Extensions;
using xModels.Dtos;
using xStringService.Models.Dtos;
using xStringService.Models.Entities;
namespace xStringService.Extensions
{
public static class XModelExtensions
{
/// <summary>
/// Converts an Entity to Dto Representation ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static XStringDto ToXStringDto(this XString source)
{
//
XStringDto result = new XStringDto();
//
result.Id = source.Id;
result.Language = source.Language;
result.ResourceTitle = source.ResourceTitle;
result.TranslatedValue = source.TranslatedValue;
//
return result;
}
/// <summary>
/// Converts a Collection of Entities to Dto ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static IEnumerable<XStringDto> ToXStringDtos(this IEnumerable<XString> source)
{
//
var list = new List<XStringDto>();
//
// Validate ...
bool isValid = source.HasChild();
if (!isValid)
{
return list.AsEnumerable();
}
//
var result = source.Select(e => ToXStringDto(e));
//
return result;
}
/// <summary>
/// Converts an Entity to LocaleResource Dto ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static XLocaleResourceDto ToXLocaleResourceDto(this XString source)
{
//
var result = new XLocaleResourceDto
{
Language = source.IsNull() ? "" : source.Language,
Value = source.IsNull() ? "" : source.TranslatedValue,
};
//
return result;
}
/// <summary>
/// Converts an Dto to LocaleResource Dto ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static XLocaleResourceDto ToXLocaleResourceDto(this XStringDto source)
{
//
var result = new XLocaleResourceDto
{
Language = source.IsNull() ? "" : source.Language,
Value = source.IsNull() ? "" : source.TranslatedValue,
};
//
return result;
}
/// <summary>
/// Converts a Collection of Entities to Locale Resource Presentation ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static IEnumerable<XLocaleResourceDto> ToXLocaleResourceDtos(this IEnumerable<XString> source)
{
//
var result = source.Select(e => ToXLocaleResourceDto(e));
return result;
}
/// <summary>
/// Converts a Collection of Dtos to Locale Resource Presentation ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static IEnumerable<XLocaleResourceDto> ToXLocaleResourceDtos(this IEnumerable<XStringDto> source)
{
//
var result = source.Select(e => ToXLocaleResourceDto(e));
return result;
}
}
}