Files
xStringService/Extensions/XModelExtensions.cs
T

117 lines
3.4 KiB
C#

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;
}
}
}