Files
xCategoryService/Extensions/XCategoryResourceExtensions.cs
T
2026-06-10 09:31:49 +03:30

79 lines
2.0 KiB
C#

using System.Linq;
using xCategoryService.Providers.Dtos;
using xCommons.Extensions;
namespace xCategoryService.Extensions
{
/// <summary>
/// Extensions Method Related to XCategoryResourceDto ...
/// </summary>
public static class XCategoryResourceExtensions
{
/// <summary>
/// Check a Resource is Valid or not ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsValid(
this XCategoryResourceDto source
)
{
//
return
!source.IsNullOrDefault() &&
!source.Item.IsNullOrDefault();
}
/// <summary>
/// Check a Resource is a New Resource for Add or not ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsNew(
this XCategoryResourceDto source
)
{
//
return
source.IsValid() &&
!source.Item.Id.IsValidIntId();
}
/// <summary>
/// Extract Available Languages ...
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string[] ExtractLanguages(
this XCategoryResourceDto source
)
{
//
var result = new string[] { };
//
// Validate ...
if (!source.IsValid())
{
return result;
}
//
result =
source.Titles.Locales.Select(x => x.Language)
.Union(source.Descriptions.Locales.Select(x => x.Language))
.Distinct()
.ToArray();
//
return result;
}
public static bool ValidateResources(
this XCategoryResourceDto source
)
{
var result =
}
}
}